Authentic Punjabi Lamb Curry Recipe (Tender Shoulder)
Recipe at a glance
- Prep
- 20 min
- Cook
- 2 hr 10 min
- Total
- 2 hr 30 min
- Marinating
- 2 hours
- Servings
- 6 servings
- Method
- Stovetop
- Difficulty
- Medium
- Key to Success
- Use boneless shoulder, marinate it in yogurt for at least 2 hours, and simmer it covered on low for the full 1 hour 30 minutes — the meat is ready when two forks pull it apart.

Images on this site are illustrations created to show the dish — not photographs of a cooked dish.
Shoulder wins. This lamb curry recipe turns 900 g of boneless lamb shoulder into fork-tender meat in a rich, red-brown sauce in 2 hours 30 minutes. It comes with the two things most lamb curry recipes skip: a cut guide and the mistakes that make lamb tough. The sauce is built the Punjabi way: onions fried golden, ground spices bloomed in ghee, and tomatoes cooked until the oil separates at the edges. Put basmati rice, garlic naan and raita beside it, and keep the leftovers — this curry tastes better the next day.
Quick answer
Yes. Marinate 900 g of boneless lamb shoulder in yogurt and spices for at least 2 hours, brown it, then fry onions, ground spices and tomatoes in ghee and simmer covered on low for 1 hour 30 minutes, plus 15 minutes uncovered. The lamb is ready when two forks pull it apart easily. Serves 6.
Common Mistakes and How to Make Lamb Curry Tender
Lamb curry turns tough for five fixable reasons, and every one of them is about time or heat, not the recipe. The biggest is rushing the simmer. Shoulder needs the full 1 hour 30 minutes covered plus 15 minutes uncovered, and pulling it early leaves the connective tissue half-melted.
Second, adding tomatoes before the lamb has browned. Third, cooking on high heat instead of low. A rolling boil tightens the meat fibres, while a gentle simmer lets them relax. Fourth, skipping the marinade. Two hours in yogurt is the minimum, and overnight is better.
Fifth, choosing the wrong cut. Lean leg without the full marinade and simmer will dry out, so use shoulder when you can. Test for doneness with two forks, not the clock. When the meat pulls apart easily, it is ready, and if it resists, give it another 15 minutes on low. For a faster curry that skips the long simmer altogether, keema cooks in minutes because the meat is minced, not cubed.

Best Cut for Lamb Curry: Shoulder vs Leg vs Shank
Boneless shoulder is the best cut for lamb in curry: it is marbled with fat that melts during the long simmer, so the meat turns juicy and fork-tender instead of drying out. Shoulder is best, and a lean cut will be dry. Buy 900 g after trimming, and cut it into even 4 cm pieces.
It is leaner, so it leans harder on the marinade and the full simmer, and it will never be quite as juicy as shoulder. Give leg the same marinade and the same full simmer — shortening the cook is what makes leg tough. The same shoulder-first logic applies to beef. Our beef curry recipe uses chuck for exactly the same reason: fat and connective tissue that melt with time.
Shank is the third option: bone-in, full of connective tissue and flavour, and the slowest of the three. Choose shank when you want the deepest gravy and have the afternoon, and remember the bone-in weight: 3 lb bone-in replaces 2 lb boneless.
Bone-in or boneless is the first choice to make. Bone-in lamb — shank is the usual cut — gives a deeper gravy, because the bones and connective tissue cook down into the sauce. But it takes longer. Boneless shoulder is the faster, easier option. It is 900 g, cut into 4 cm pieces, ready in 2 hours 30 minutes, with no bones to eat around.

Why This Recipe Works
- Yogurt in the marinade tenderises the shoulder: its acidity works on the meat for 2 hours, so the long simmer finishes the job instead of starting it.
- Browning the lamb before the tomatoes go in keeps the meat tender; acidic tomatoes added too early can toughen it.
- The bhuna builds the sauce: frying the ground spices and tomato until the oil separates gives the curry its deep red-brown colour and slow-cooked flavour.
Ingredients
Instructions
- Marinate the lamb —Combine the lamb, yogurt, ginger garlic paste, garam masala, chilli powder, salt and turmeric in a large bowl, and mix until every piece is coated. Cover and chill for at least 2 hours; leave it overnight for the tenderest result. Take the lamb out of the fridge 30 minutes before cooking so it is closer to room temperature.
- Bloom the whole spices in ghee —Heat the ghee in a large heavy-based pot over medium heat until it shimmers, then add the cinnamon, cardamom, cloves and bay leaf and fry for 1 minute until fragrant. Tip in the onions and cook for 7 to 8 minutes, stirring often, until golden round the edges. Stir in the grated ginger and cook for 1 minute more.
- Brown the lamb —Add the marinated lamb to the pot in a single layer and sear over medium-high heat for 6 to 7 minutes, turning once, until browned on the outside. Work in two batches if the pot is crowded, so the meat browns instead of steaming.
- Build the sauce —Lower the heat to medium, stir in the ground coriander, cumin, turmeric, paprika, chilli and the remaining garam masala, and fry for 30 seconds until the spices smell toasted. Add the tomato puree and cook for 5 to 7 minutes, stirring, until the oil separates at the edges and the raw tomato smell is gone.
- Simmer low and slow —Pour in the hot water and the slit green chillies, scrape the base of the pot, and bring the curry to a gentle simmer. Cover with a tight lid, lower the heat to low, and cook for 1 hour 30 minutes, stirring every 15 minutes and adding splashes of hot water if the sauce gets too thick.
- Reduce and finish —Remove the lid and simmer for 15 minutes more, until the sauce thickens enough to coat the lamb and the meat pulls apart easily with two forks. Take the pot off the heat, wait 2 minutes, then stir in the whisked yogurt a spoonful at a time until the sauce turns creamy. Taste and add salt if needed.
- Rest and serve —Rest the curry for 10 minutes with the lid on so the sauce settles and the flavours meld. Scatter over the chopped coriander leaves and serve hot, with basmati rice and garlic naan, plus raita alongside.
How to Make Lamb Curry
You make this lamb curry recipe by marinating shoulder in yogurt and spices, browning it, and frying onions, ground spices and tomatoes into a sauce. Then simmer covered on low until the meat pulls apart. That is 2 hours 30 minutes from the chopping board, plus the 2-hour marinade.
The step that decides the flavour is the bhuna (frying the spices and tomato until the oil separates). Fry the ground spices for 30 seconds, then cook the tomato puree for 5 to 7 minutes until the oil separates at the edges and the raw tomato smell disappears. Skip it and the sauce tastes flat and raw. Rush it and the spices burn. A heavy-based pot matters here, because it holds a steady low heat and stops the sauce catching while the lamb simmers.
The active work is under 30 minutes: marinating, browning and building the sauce. The pot does the rest. Stir every 15 minutes during the covered simmer, and add hot water a little at a time if the sauce thickens too fast. Keep the heat low. A rolling boil tightens the meat fibres, while a gentle simmer lets them relax.

Simple Lamb Curry
This simple lamb curry recipe means one pot, one marinade and no special equipment. Everything happens in a single heavy-based pot, and the only technique to learn is the bhuna. If you can fry onions until golden, you can make this lamb curry recipe. The pot, the lid and the clock do the difficult part.
This recipe for a lamb curry lets you skip the overnight marinade and give it 2 hours, and use tomato puree from a carton instead of fresh tomatoes. Do not skip browning the lamb or the covered simmer; those two steps are the whole recipe, and no shortcut replaces them. Keep the serving simple too: basmati rice and a spoon are all this curry needs.
This is a weekend curry, not a 30-minute weeknight one. The simple part is the method, not the clock. Marinate the lamb in the morning, cook it in the afternoon, and eat the leftovers the next day, when the sauce has thickened and the spices have settled.

Indian Lamb Curry
An indian lamb curry recipe is defined by its base, not its heat: onions, ginger, garlic, tomatoes and garam masala, with whole spices bloomed in ghee and yogurt stirred in to finish. This version is Punjabi (from Punjab, the region across northern India and Pakistan) in style. It is a red-brown onion-tomato sauce, shoulder meat, and garam masala at the end rather than cream. It sits in our curries and rice collection.
It is not a rogan josh, which leans on paprika and fennel for its deep-red colour, and it is not a korma, which is mild and nut-based.
The ginger cuts the richness and the coriander keeps it fresh. Serve it with garlic naan for scooping, and let the bread do the work the spoon cannot.
The rogan josh comparison is worth making plainly. Rogan josh gets its deep-red colour from paprika and fennel, while this curry is red-brown from tomato and bhuna, with shoulder meat and garam masala at the end. If you want the deep-red version, cook that one. This one stays with the plainer Punjabi sauce.
The Punjabi markers are all in the method: onions fried golden, ground spices bloomed in ghee, tomatoes cooked until the oil separates, garam masala stirred in at the end, and shoulder meat for the long simmer. None of them is optional — together they are what makes this a Punjabi lamb curry rather than a generic one.

Slow Cooker Lamb Curry
Yes — for lamb curry in slow cooker, do the marinade, browning and bhuna on the hob, then move everything to the slow cooker and cook on low for 6 to 8 hours. The slow cooker replaces the 1 hour 30 minute covered simmer, not the steps before it, and the lamb comes out just as fork-tender. The time is the tenderness here: 6 to 8 hours on low is what lets the shoulder turn fork-tender.
Do not skip the browning, and do not put raw ground spices in the slow cooker. The pot never gets hot enough to bloom them, so the sauce stays pale and raw-tasting. Use 1 cup (250 ml) of water instead of 2 cups, because almost nothing evaporates under the lid. You can loosen a thick sauce at the end, but you cannot easily rescue a watery one.
Stir in the yogurt at the end, off the heat, a spoonful at a time, then rest the curry for 10 minutes. If the sauce is still thin, lift the lid and cook for 30 minutes more on low. It should thicken enough to coat the lamb.
Cook by the pot and slow-cooker times on this page instead.

Leftover Lamb Curry
This leftover lamb curry recipe keeps for 5 days in the fridge and 3 months in the freezer — and it tastes better on day two. The sauce thickens and the spices settle. Cool it within 2 hours of cooking, then seal it up for the fridge.
To reheat, warm it gently in a pan with a lid over low heat until hot throughout, loosening with a splash of water or stock if the sauce has gone thick. Serve reheated curry with fresh raita rather than reheating the sides with it.
Turn leftovers into a new meal. Spoon the curry over rice, wrap it in flatbread, or shred the lamb into a sandwich filling. Do not reheat the same portion twice.

Frequently Asked Questions
How to make lamb curry?
Marinate 900 g of boneless lamb shoulder in yogurt and spices for at least 2 hours. Brown the meat, fry onions, ground spices and tomatoes in ghee into a sauce, then simmer covered on low for 1 hour 30 minutes, plus 15 minutes uncovered. The lamb is ready when two forks pull it apart easily.
What is the best cut of meat for lamb curry?
Boneless shoulder. Leg works if you give it the full marinade and simmer, and shank gives the deepest gravy but needs the longest cook. Buy 900 g after trimming, cut into 4 cm pieces. Choose the cut to suit the time available.
How do I make lamb curry tender?
Marinate the lamb in yogurt for at least 2 hours, then simmer it covered on low for 1 hour 30 minutes. Brown the meat before adding tomatoes, because acid added too early toughens it, and keep the heat low — a rolling boil tightens the fibres. Test with two forks: when the meat pulls apart easily, it is ready.
Can I make lamb curry in a slow cooker?
Yes. Marinate, brown and build the sauce on the hob first, then move everything to the slow cooker and cook on low for 6 to 8 hours. Use 1 cup of water instead of 2, because almost nothing evaporates under the lid. Stir the yogurt in at the end, off the heat, and rest the curry for 10 minutes.
How to cook lamb curry?
Cook it in one heavy-based pot: bloom cinnamon, cardamom, cloves and bay in ghee, fry the onions for 7 to 8 minutes until golden, then brown the lamb for 6 to 7 minutes. Fry the ground spices for 30 seconds, cook the tomato puree for 5 to 7 minutes until the oil separates, then simmer low.
Troubleshooting
Why is my lamb still tough?
Give it another 15 minutes on low and test again with two forks — shoulder needs the full 1 hour 30 minutes covered plus 15 minutes uncovered, and pulling it early leaves the connective tissue half-melted. Do not turn the heat up: a rolling boil tightens the fibres, while a gentle simmer lets them relax.
Why does my lamb curry sauce taste raw or flat?
The bhuna was skipped or rushed: cook the tomato puree for 5 to 7 minutes until the oil separates at the edges and the raw tomato smell disappears. Skip it and the sauce tastes flat and raw; rush it and the spices burn.
Why did the yogurt split in my lamb curry?
It went in on the heat: take the pot off the heat, wait 2 minutes, then stir the whisked yogurt in a spoonful at a time until the sauce turns creamy. Boiling yogurt splits and turns the sauce grainy, and there is no fix once it has.
Tips
- Cut the shoulder into even 4 cm pieces so every piece finishes at the same time; uneven pieces mean some dry out while others are still tough.
- Stir the yogurt in off the heat, a spoonful at a time — boiling yogurt splits and turns the sauce grainy.
- If the sauce is thin, simmer it uncovered for 10 to 15 minutes rather than adding a thickener; it reduces and the flavour concentrates.
Storage
Fridge: Sealed in the fridge, it keeps up to 5 days.
Freezer: Keeps up to 3 months in the freezer, sealed in a container.
Reheat: Warm gently over a low flame in a pan until hot throughout, adding a splash of water or stock if the sauce has gone thick.
Serve it with
- Basmati Rice Recipe — Fluffy, Non-Sticky Every Time — Ladle it over basmati rice — that spoonful of curry on rice is how this dish is usually eaten.
- Pakistani Chicken Curry Recipe: Dhaba-Style, No Coconut — Chicken curry beside it gives the table a second meat from the same rice pot.
- Chicken Biryani Recipe — Hyderabadi Dum, Step by Step — Layered chicken biryani beside the lamb makes a feast, raita alongside both.
Authentic Punjabi Lamb Curry Recipe (Tender Shoulder)
- Skill Level
- Medium
Ingredients
Instructions
- Marinate the lamb —Combine the lamb, yogurt, ginger garlic paste, garam masala, chilli powder, salt and turmeric in a large bowl, and mix until every piece is coated. Cover and chill for at least 2 hours; leave it overnight for the tenderest result. Take the lamb out of the fridge 30 minutes before cooking so it is closer to room temperature.
- Bloom the whole spices in ghee —Heat the ghee in a large heavy-based pot over medium heat until it shimmers, then add the cinnamon, cardamom, cloves and bay leaf and fry for 1 minute until fragrant. Tip in the onions and cook for 7 to 8 minutes, stirring often, until golden round the edges. Stir in the grated ginger and cook for 1 minute more.
- Brown the lamb —Add the marinated lamb to the pot in a single layer and sear over medium-high heat for 6 to 7 minutes, turning once, until browned on the outside. Work in two batches if the pot is crowded, so the meat browns instead of steaming.
- Build the sauce —Lower the heat to medium, stir in the ground coriander, cumin, turmeric, paprika, chilli and the remaining garam masala, and fry for 30 seconds until the spices smell toasted. Add the tomato puree and cook for 5 to 7 minutes, stirring, until the oil separates at the edges and the raw tomato smell is gone.
- Simmer low and slow —Pour in the hot water and the slit green chillies, scrape the base of the pot, and bring the curry to a gentle simmer. Cover with a tight lid, lower the heat to low, and cook for 1 hour 30 minutes, stirring every 15 minutes and adding splashes of hot water if the sauce gets too thick.
- Reduce and finish —Remove the lid and simmer for 15 minutes more, until the sauce thickens enough to coat the lamb and the meat pulls apart easily with two forks. Take the pot off the heat, wait 2 minutes, then stir in the whisked yogurt a spoonful at a time until the sauce turns creamy. Taste and add salt if needed.
- Rest and serve —Rest the curry for 10 minutes with the lid on so the sauce settles and the flavours meld. Scatter over the chopped coriander leaves and serve hot, with basmati rice and garlic naan, plus raita alongside.



