01 - In a bowl, combine beef cubes with yogurt, ginger-garlic paste, turmeric, chili powder, and salt. Mix thoroughly, cover, and refrigerate for at least 30 minutes, preferably up to 2 hours for deeper flavor development.
02 - Rinse basmati rice under cold running water until water runs clear. Soak in fresh water for 20 minutes, then drain completely.
03 - Heat oil in a large heavy-bottomed pot over medium heat. Add chopped onions and sauté until golden brown, approximately 8 minutes, stirring occasionally.
04 - Add ginger-garlic paste and sliced green chilies to the pot. Sauté for 1 minute until fragrant, stirring constantly.
05 - Add diced tomatoes, ground coriander, ground cumin, ground cinnamon, garam masala, chili powder, and paprika. Cook while stirring until tomatoes break down completely, approximately 5 minutes.
06 - Add marinated beef and all marinade juices to the pot. Stir to coat the beef evenly with the spice mixture. Cook for 5 minutes until beef is browned on the surface.
07 - Pour in stock and bring to a simmer. Cover the pot and reduce heat to low. Cook for 1 to 1.5 hours, stirring occasionally, until beef is tender and sauce has thickened. 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, then 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 - Transfer the cooked basmati rice to serving plates or a serving dish. Ladle the hot spicy beef curry over the rice and garnish generously with fresh chopped cilantro.