Ingredients
- 600g bone-in beef or mutton shank (or 500g boneless chuck)
- 3 tablespoons oil or ghee
- 2 medium onions, thinly sliced
- 1 tablespoon ginger garlic paste
- 1 teaspoon red chilli powder
- 1 teaspoon coriander powder
- 1/2 teaspoon cumin powder
- 1/2 teaspoon turmeric
- 1 teaspoon garam masala
- 4 cloves, 2 cardamom pods, 1 inch cinnamon, 2 bay leaves
- Salt to taste
- 4–5 cups water
Dal & grain (soak 2+ hours)
- 1/2 cup barley (or broken wheat — see Variations)
- 1/4 cup chana dal
- 1/4 cup masoor dal (pink/washed)
- 1/4 cup moong dal (washed)
- 1/4 cup urad dal (white/washed)
- 2 tablespoons rice
To finish
- 2 tablespoons ghee
- 1/2 teaspoon garam masala
Garnishes (essential)
- Birista (crispy fried onions)
- Fresh ginger, julienned
- Green chillies, sliced
- Fresh coriander
- Lime wedges
Instructions
Prep
- Soak the dals and barley together in cold water for at least 2 hours, or overnight. Drain.
- Make birista: fry thinly sliced onions in oil on medium heat until deep golden and crispy, 15–20 minutes. Drain on paper, they crisp further as they cool. Set aside.
Cook
- Heat oil in a pan. Fry the 2 sliced onions until deep golden — 12–15 minutes.
- Add ginger garlic paste; sauté 2 minutes. Add the whole spices (cloves, cardamom, cinnamon, bay leaves) and fry 30 seconds.
- Add red chilli, coriander, cumin, turmeric, and 1 tsp garam masala; stir 1 minute. Add meat and sear on all sides.
- Transfer everything to the slow cooker. Add the drained dals and barley, salt, and 4–5 cups water — enough to cover everything by about 2 inches.
- Cook on Low for 8 hours or High for 5 hours. The meat should be falling-apart tender and the dals should have dissolved into the liquid.
Finish
- Lift out the meat. Pull off and discard any bones. Shred the meat with two forks — it should fall apart with almost no effort.
- Return shredded meat to the pot. Mash the mixture with a potato masher, or give it a few short pulses with an immersion blender, until thick and cohesive. Leave some texture — it shouldn't be completely smooth.
- If too thin: cook uncovered on High for 20–30 minutes to reduce. If too thick: stir in a splash of water.
- Stir in 2 tbsp ghee and ½ tsp garam masala. Cook on High another 15–20 minutes, stirring occasionally, until the ghee is absorbed and the haleem is glossy and pulls away from the sides.
- Taste and adjust salt.
Serve
Ladle into bowls. Top generously with birista, ginger julienne, green chillies, fresh coriander, and a squeeze of lime.
Variations
Grain — what changes with each
- Barley: Chewier, nuttier, holds its shape more in the finished haleem. Gives more body and texture. Worth sourcing from a good Muslim meat shop for the right cut of barley grain.
- Broken wheat (dalia/gehun): Breaks down more completely, giving a smoother, stickier porridge — closer to the restaurant or Hyderabadi style. Use it if you prefer a more uniform texture.
- Both work. Try barley first if you want texture; broken wheat if you want smoothness.
Spice blend — choose your commitment level
- Packet (easiest): Replace the entire spice list with 1 packet Shan or National Haleem Masala. Follow the packet's instructions for amount. Very accurate flavour, no sourcing individual spices.
- Individual spices (the base recipe): More control and you likely have most of these. The whole spices add depth the packet doesn't always replicate.
- Minimal (garam masala only): 1 tsp garam masala + 1/2 tsp red chilli + 1/2 tsp turmeric + salt. Simpler flavour but the dish still works — good for a quick batch.
Bhunao texture — choose your result
- Potato masher: Rustic, chunky — some visible grain and meat pieces remain.
- Immersion blender (a few pulses): Smoother, more uniform, closer to restaurant style. Don't over-blend.
- Traditional vigorous stirring: Transfer to a heavy-bottomed pan, cook on high heat and stir constantly for 15–20 minutes. Also develops flavour by roasting the mixture in the ghee — produces the richest result but requires attention.
Instant Pot Use Slow Cook mode on Normal/Low for the same result. Or pressure cook on High for 40 minutes + 15 minute natural release (add 10 minutes if meat is frozen). The finish step is the same either way — do it on Sauté mode.
Meat — what changes with each
- Beef or mutton shank (the base recipe): Bone-in gives the richest body. The collagen dissolves slowly and makes the gravy naturally thick and glossy without any effort.
- Lamb shank or shoulder: More traditional than beef in many haleem recipes. Lamb is fattier and slightly gamier; the result is deeper and richer. Same slow cooker timing. Excellent choice.
- Boneless chuck (beef or lamb): Easier to manage since there are no bones to fish out. Slightly thinner gravy since there's less collagen, but still very good. Reduce water by 1/2 cup.
- Chicken (bone-in thighs): Use bone-in thighs — not breast, which will dry out. The result is lighter and less rich since chicken has far less collagen; the gravy won't thicken the same way. Slow cooker on High for 3–4 hours (not 8). The dals and grain need the full time regardless, so check the meat separately and shred it when tender. Finish step is the same but you may need to reduce longer to get the right consistency.
Notes
- Birista keeps for several days in an airtight container and is worth making a big batch. It's used across many Indian and Pakistani dishes.
- Haleem freezes very well — portion it out before freezing and reheat with a splash of water.
Added Aug 27, 2026 · Updated Aug 27, 2026