01 - Combine beef cubes, yogurt, turmeric, chili powder, and salt in a bowl. Mix thoroughly to coat all pieces. Marinate for at least 30 minutes, or refrigerate for up to 2 hours for enhanced flavor penetration.
02 - Heat vegetable oil in a large pot or Dutch oven over medium heat. Add chopped onions and cook, stirring occasionally, until golden brown and caramelized, approximately 8-10 minutes.
03 - Stir in minced garlic, grated ginger, and finely chopped green chilies. Sauté for 2 minutes until fragrant, being careful not to burn the garlic.
04 - Add cumin, coriander, garam masala, and paprika to the pot. Cook for 1 minute, stirring constantly to release the essential oils and prevent scorching.
05 - Add marinated beef pieces to the pot. Brown the meat on all sides, cooking for approximately 5 minutes to develop depth of flavor.
06 - Pour in diced tomatoes, beef stock, cinnamon stick, and bay leaves. Stir well to combine, bring to a gentle simmer, then reduce heat to low.
07 - Cover and maintain a low simmer for 1 to 1.5 hours, stirring occasionally. Cook until beef is fork-tender and sauce has thickened to desired consistency. Adjust seasoning with salt and pepper before serving.
08 - While curry simmers, rinse basmati rice under cold running water until water runs clear, typically 3-4 rinses. This removes excess starch for fluffy, separated grains.
09 - Bring 2 cups of water to a boil in a medium saucepan. Add rinsed rice and 1/2 teaspoon salt. Stir once, cover tightly, reduce heat to low, and cook for 12 minutes. Remove from heat and let stand, covered, for 5 minutes. Fluff gently with a fork before serving.
10 - Ladle hot spicy beef curry over plates of fluffy basmati rice. Garnish generously with chopped fresh cilantro and accompany with lemon wedges for squeezing over the finished dish.