01 - Combine beef cubes with yogurt, turmeric, cumin, salt, and pepper in a bowl. Mix thoroughly, cover, and marinate for at least 30 minutes, or up to 4 hours in the refrigerator for optimal flavor penetration.
02 - Heat oil or ghee in a large heavy-bottomed pot over medium heat. Add finely chopped onions and sauté until golden brown, approximately 8-10 minutes, stirring frequently to prevent burning.
03 - Stir in minced garlic, grated ginger, and chopped green chilies. Cook for 2 minutes until fragrant, being careful not to brown the garlic.
04 - Add ground coriander, cumin, garam masala, chili powder, and cinnamon. Stir constantly for 1 minute to toast the spices and release their essential oils.
05 - Add marinated beef to the pot and brown on all sides, about 5 minutes. This step develops depth of flavor through the Maillard reaction.
06 - Pour in chopped tomatoes and stock, stirring to combine and deglaze the pot. Bring to a gentle simmer, ensuring all browned bits are incorporated.
07 - Cover and reduce heat to low. Cook for 1 to 1.5 hours, stirring occasionally, until beef is fork-tender and sauce has thickened. Uncover for the final 15 minutes if reduction is needed. Adjust seasoning with salt and sugar.
08 - Rinse basmati rice under cold water until water runs clear. Combine rice, water, and salt in a saucepan. Bring to boil, reduce heat to low, cover, and cook 12-15 minutes. Remove from heat, let stand covered 5 minutes, then fluff with fork. Stir in butter or ghee if desired.
09 - Ladle spicy beef curry over fluffy basmati rice. Garnish generously with fresh coriander and lemon wedges. Serve immediately while hot.