01 - Heat oil in a large, heavy-bottomed pot over medium heat. Add cumin seeds, bay leaves, cloves, and cinnamon stick. Sauté for 1 minute until fragrant.
02 - Add onions and cook until golden brown, about 8 minutes, stirring frequently to ensure even coloring.
03 - Stir in garlic, ginger, and green chilies. Cook for 2 minutes until aromatic and raw garlic smell dissipates.
04 - Add ground coriander, turmeric, chili powder, garam masala, ground cumin, paprika, salt, and pepper. Toast spices for 1 minute to release essential oils.
05 - Add beef cubes and brown on all sides, about 5 minutes. Work in batches if necessary to avoid overcrowding the pot.
06 - Stir in tomatoes and cook for 5 minutes, allowing them to soften and break down slightly.
07 - Pour in stock and water. Bring to a boil, then reduce heat to low. Cover and simmer for 1 hour, stirring occasionally to prevent sticking.
08 - Remove lid and stir in yogurt. Simmer uncovered for another 20-30 minutes until beef is tender and sauce has thickened to desired consistency.
09 - Taste and adjust seasoning if needed. Remove whole spices (bay leaves, cloves, cinnamon stick) before serving.
10 - Garnish with chopped cilantro and serve hot with basmati rice or naan bread, accompanied by lemon wedges.