Slow-Cooked Lamb Rogan Josh with Rich Sauce

Kitchen-reviewed Updated Jul 2026 Written from established cooking principles and checked for sense and safety. Not independently lab-tested.
Bowl of tender lamb rogan josh in rich red spiced sauce, topped with fresh coriander, with rice and naan alongside.

A classic North Indian-inspired lamb curry, gently braised until the meat falls apart in a warmly spiced, reddish sauce. No shortcuts on the spices, but the method is simple and forgiving. Serves 4 generously with rice or naan.

Prep20 mins
Cook1 hr 30 mins
Total1 hr 50 mins
Serves4
Difficultymedium
Jump to recipe

Rogan josh is all about patience and spice, not heat. Cheaper lamb shoulder is ideal here: the long, gentle braise renders it meltingly tender in a glossy, aromatic sauce built on onions, yoghurt and warming spices. It needs little attention once it’s simmering, so it suits a lazy weekend afternoon. Make it a day ahead and it tastes even better.

Ingredients

Scale for 4 servings
  • 800 g lamb shoulder β€” boneless, cut into 4cm chunks
  • 3 tbsp vegetable or sunflower oil
  • 2 large onions β€” finely sliced
  • 5 cloves garlic β€” crushed
  • 4 cm piece fresh ginger β€” grated
  • 150 g natural yoghurt β€” full-fat, at room temperature
  • 400 g tin chopped tomatoes
  • 2 tbsp Kashmiri chilli powder β€” for colour, mild heat
  • 2 tsp ground cumin
  • 2 tsp ground coriander
  • 1 tsp garam masala β€” plus extra to finish
  • 4 green cardamom pods β€” lightly crushed
  • 2 bay leaves
  • 1 tsp salt β€” or to taste

Method

  1. Heat the oil in a large heavy-based pan or casserole over a medium-high heat. Brown the lamb in batches until well coloured on all sides, then lift out and set aside. Don't crowd the pan or it will steam.
  2. Lower the heat to medium and add the onions with a pinch of salt. Cook slowly for 12-15 minutes, stirring often, until soft, deeply golden and jammy. This is the backbone of the sauce, so take your time.
  3. Stir in the garlic and ginger and cook for 2 minutes until fragrant. Add the cardamom, bay leaves, chilli powder, cumin and ground coriander, and stir for 1 minute to toast the spices.
  4. Take the pan off the heat for a moment and whisk in the yoghurt a spoonful at a time, stirring constantly so it doesn't split. Return to the heat, then add the tomatoes and browned lamb with any resting juices.
  5. Pour in 200ml water, stir well and bring to a gentle simmer. Cover and cook over a low heat for 75-90 minutes, stirring occasionally, until the lamb is fork-tender.
  6. Uncover for the last 15 minutes to reduce the sauce until glossy and clinging to the meat. Stir in the garam masala and season to taste.
  7. Rest for 10 minutes off the heat, skim any excess oil if you like, then finish with a pinch more garam masala before serving.

Serve it with

  • Fluffy basmati rice
  • Warm naan or chapatis
  • Cooling cucumber and mint raita
  • A scatter of fresh coriander
  • Sliced red onion and lemon wedges

Why this works

Slowly caramelised onions plus tomatoes give body and depth, while whisking in yoghurt off the heat enriches the sauce without curdling. The long braise breaks down the collagen in shoulder for that signature melting texture.

Common swaps

  • Use diced lamb leg for a leaner result, though it won't be quite as tender.
  • Swap Kashmiri chilli for 1 tsp mild paprika plus a pinch of cayenne for colour without fierce heat.
  • Stir through a splash of double cream at the end for a richer, milder sauce.
  • Replace lamb with 800g diced beef chuck and extend the cooking time by 20-30 minutes.

Common mistakes to avoid

  • Rushing the onions: pale, undercooked onions leave the sauce thin and lacking depth.
  • Adding cold yoghurt straight to a hot pan, which makes it split and curdle.
  • Simmering too hard, which toughens the lamb instead of tenderising it.
  • Skimping on browning the meat, losing the savoury base flavour.

Storage, freezing & reheating

Storage: Cool quickly and refrigerate in an airtight container for up to 3 days. The flavour deepens overnight, so it's excellent made ahead.

Freezing: Freezes well for up to 3 months. Cool fully, freeze in portions, and defrost overnight in the fridge before reheating.

Reheating: Reheat gently in a pan over a low heat with a splash of water until piping hot throughout, stirring occasionally.

Allergen notes: contains Milk. Always check individual product labels.

Estimated nutrition

Per serving, estimated from typical ingredient values β€” not a substitute for precise dietary calculation.

Calories540 kcal
Protein42 g
Carbohydrate14 g
Fat36 g