01 - Combine beef cubes with yogurt, ginger-garlic paste, turmeric, chili powder, and salt in a bowl. Mix thoroughly, cover, and marinate for at least 30 minutes or up to 2 hours for enhanced flavor.
02 - Rinse basmati rice under cold water until water runs clear. Soak in fresh water for 20 minutes, then drain thoroughly.
03 - Heat oil in a large heavy-bottomed pot over medium heat. Add chopped onions and sauté until golden brown, approximately 8 minutes.
04 - Add ginger-garlic paste and sliced green chilies to the pot. Sauté for 1 minute until fragrant.
05 - Add diced tomatoes, coriander, cumin, cinnamon, garam masala, chili powder, and paprika. Cook while stirring until tomatoes break down completely, approximately 5 minutes.
06 - Add marinated beef with all marinade juices to the pot. Stir to coat beef thoroughly with spices. Cook for 5 minutes until beef develops a light brown exterior.
07 - Pour in stock and bring to a simmer. Cover and cook on low heat for 1 to 1.5 hours, stirring occasionally, until beef is tender and sauce thickens. Season with salt to taste.
08 - In a separate saucepan, bring 2 cups water to a boil with salt and oil or ghee. Add drained rice, stir once, cover, and reduce heat to low. Cook for 12-15 minutes until rice is tender and water is fully absorbed. Fluff with a fork.
09 - Serve hot spicy beef curry over fluffy basmati rice. Garnish generously with fresh chopped cilantro.