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 refrigerated.
02 - Heat oil or ghee in a large heavy-bottomed pot over medium heat. Add onions and sauté until golden brown, approximately 8-10 minutes.
03 - Stir in garlic, ginger, and green chilies. Cook for 2 minutes until fragrant, being careful not to burn 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 oils.
05 - Add marinated beef to the pot. Brown on all sides for approximately 5 minutes to develop flavor.
06 - Pour in chopped tomatoes and stock, stirring to combine. Bring mixture to a gentle simmer.
07 - Cover and reduce heat to low. Cook for 1 to 1.5 hours, stirring occasionally, until beef is tender and sauce has thickened. Uncover for the final 15 minutes if reduction is needed. Adjust seasoning with salt and sugar.
08 - Rinse 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 for 12-15 minutes. Remove from heat and let stand covered for 5 minutes. Fluff with fork and stir in butter or ghee if desired.
09 - Serve spicy beef curry over fluffy basmati rice. Garnish with fresh chopped coriander and lemon wedges.