01 - Combine beef cubes with yogurt, salt, and turmeric in a bowl. Mix thoroughly, cover, and refrigerate for at least 30 minutes or up to 2 hours for deeper flavor penetration.
02 - Rinse basmati rice under cold water until water runs clear. Set aside.
03 - Heat vegetable oil in a large heavy-bottomed pot over medium heat. Add onions and cook for 8 to 10 minutes until golden brown, stirring occasionally.
04 - Add garlic, ginger, and green chilies to the pot. Sauté for 1 to 2 minutes until fragrant, stirring constantly to prevent burning.
05 - Stir in cumin, coriander, chili powder, and garam masala. Cook for 1 minute, stirring constantly to release essential oils and prevent scorching.
06 - Add marinated beef to the pot. Brown on all sides for 4 to 5 minutes to develop flavor and texture.
07 - Pour in chopped tomatoes and beef stock. Bring to a simmer, reduce heat to low, cover, and cook for 1 to 1.5 hours. Stir occasionally until beef is tender and sauce has thickened.
08 - While curry simmers, bring 2 1/2 cups water and 1/2 tsp salt to boil in a 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.
09 - Taste curry and adjust salt or spice as needed. Stir in chopped fresh cilantro just before serving.
10 - Serve hot beef curry over steamed basmati rice.