Pat the lamb dry with kitchen paper to help it brown properly. Choose well marbled cuts such as shoulder or leg for best tenderness. Set aside while you prepare the base.
In a heavy-based pan, heat the ghee over medium heat. Add the cardamom pods, cinnamon stick, and cloves. Sauté for a minute until they release a fragrant aroma, but be careful not to let them burn. This step builds the foundation of flavour.
Add the sliced onions and cook slowly until they turn deep golden brown, around 10–12 minutes. Stir often for even colour. The caramelisation gives the curry its richness and depth.
Stir in the minced garlic and grated ginger. Cook for about a minute until fragrant. This short cooking time prevents bitterness while enhancing the sauce’s warmth.
Lower the heat slightly and add the chilli powder, paprika, cumin, coriander, turmeric, and a pinch of salt. Stir continuously for 30 seconds to release the oils from the spices, known as “bhunao,” which is key to authentic Indian cooking.
Add the lamb pieces and coat them thoroughly in the spice mixture. Sear until the meat is lightly browned on all sides. This step seals in flavour and gives the curry its robust body.
Reduce the heat to low. Add the yoghurt a spoonful at a time, stirring constantly to prevent curdling. Continue until all the yoghurt is blended smoothly, forming a creamy sauce around the lamb.
Pour in the water or stock, stir, and bring to a gentle simmer. Cover the pan and cook on low heat for 1½ hours, stirring occasionally, until the lamb is tender and the gravy has thickened beautifully.
Once the lamb is soft and the sauce rich, sprinkle in garam masala and stir. Taste for seasoning and adjust salt or spice as desired. Simmer uncovered for a few more minutes to let the flavours deepen.
Transfer the Rogan Josh to a warm serving bowl, garnish with chopped coriander, and serve with steamed basmati rice or naan. The deep, spiced aroma pairs beautifully with cooling sides like cucumber raita or plain yoghurt.