01 - Combine the beef cubes with yogurt, 1 tsp salt, and turmeric in a bowl. Mix thoroughly to coat evenly, cover, and refrigerate for at least 30 minutes, up to 2 hours for deeper flavor penetration.
02 - Rinse the basmati rice under cold running water until the water runs clear. Drain thoroughly and set aside.
03 - Heat vegetable oil in a large heavy-bottomed pot or Dutch oven over medium heat. Add chopped onions and cook for 8 to 10 minutes, stirring frequently, until golden brown and caramelized.
04 - Add minced garlic, grated ginger, and sliced green chilies to the pot. Sauté for 1 to 2 minutes until fragrant, being careful not to burn the garlic.
05 - Stir in ground cumin, coriander, chili powder, and garam masala. Cook for 1 minute, stirring constantly, to toast the spices and release their essential oils.
06 - Add the marinated beef to the pot, including any marinade. Brown on all sides for 4 to 5 minutes, allowing the meat to develop a deep color.
07 - Pour in chopped tomatoes and beef stock. Bring to a gentle simmer, then reduce heat to low. Cover and cook for 1 to 1.5 hours, stirring occasionally, until beef is tender and sauce has thickened to a rich consistency.
08 - While curry simmers, bring 2 1/2 cups water and 1/2 tsp salt to a boil in a medium saucepan. Add rinsed rice, stir once, cover, reduce heat to low, and cook for 12 minutes. Remove from heat and let rest, covered, for 5 minutes. Fluff gently with a fork.
09 - Taste the curry and adjust salt or spice level as needed. Stir in chopped fresh cilantro just before serving.
10 - Spoon steamed basmati rice onto serving plates and ladle hot beef curry generously over the top. Serve immediately while steaming.