01 - Combine the beef cubes with yogurt, salt, and turmeric in a bowl. Mix thoroughly to coat all pieces, cover, and refrigerate for at least 30 minutes or up to 2 hours for deeper flavor penetration.
02 - Rinse the basmati rice under cold running water until the water runs clear. Drain and set aside.
03 - Heat vegetable oil in a large heavy-bottomed pot over medium heat. Add finely chopped onions and cook for 8 to 10 minutes, stirring occasionally, 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, stirring constantly to prevent burning.
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, reserving any excess marinade. Brown the beef on all sides for 4 to 5 minutes to develop depth of flavor.
07 - Pour in chopped tomatoes and beef stock. Bring to a simmer, then reduce heat to low. Cover and cook for 1 to 1.5 hours, stirring occasionally, until beef is fork-tender and sauce has thickened to desired consistency.
08 - While curry simmers, bring water and 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 with a fork before serving.
09 - Taste the curry and adjust salt or spice level as needed. Stir in chopped fresh cilantro just before serving.
10 - Spoon hot beef curry over steamed basmati rice. Serve immediately while hot.