Quick Recipe Version (TL;DR)
Quick Ingredients
- 1.5 kg lamb shoulder, bone-in or boneless, cut into large chunks
- 2 tbsp ghee (or 2 tbsp neutral oil)
- 2 large yellow onions, thinly sliced
- 6 garlic cloves, minced
- 1 tbsp finely grated fresh ginger
- 2 medium tomatoes, diced (about 300 g)
- 2 tbsp tomato paste
- 2 dried limes (loomi), pierced
- 1.5 tsp ground cumin, 1.5 tsp ground coriander, 1 tsp turmeric, 1 tsp ground black pepper, 1 tsp ground cardamom, 1 tsp baharat, 1 cinnamon stick, 4 cloves, 2 bay leaves
- 1.75 L hot water (or unsalted lamb/chicken stock), plus more as needed
- 2 tsp fine salt (plus more to taste)
- 3 cups (600 g) basmati rice, rinsed well
- 2 tbsp raisins (optional), 1/3 cup (45 g) slivered almonds (optional)
- Pinch saffron + 2 tbsp hot water (optional), chopped cilantro or parsley for serving
Do This
- 1) Rinse rice until water runs mostly clear; soak 15 minutes, then drain.
- 2) Sear lamb in ghee; sauté onions until deep golden, then add garlic and ginger.
- 3) Stir in spices, tomatoes, tomato paste, and pierced dried limes; cook 2 minutes.
- 4) Add hot water/stock; cover and braise at 160°C / 325°F until lamb is fork-tender (about 1 hour 45 minutes).
- 5) Remove lamb and strain/measure broth; adjust salt. You need 6 cups (1.42 L) broth for the rice.
- 6) Add rice to a pot with 6 cups broth; boil 2 minutes, then cover and cook on very low 15 minutes; rest 10 minutes.
- 7) Fluff rice; top with lamb, raisins/almonds, herbs, and serve with extra broth if you like.
Why You’ll Love This Recipe
- Deeply aromatic, with classic Gulf flavors from dried limes, warm spices, and tomatoes.
- One pot of lamb becomes both the main and the richly flavored broth for the rice.
- Flexible and forgiving: adjust spice, salt, and tang to match your taste.
- Excellent for guests, but made with straightforward home-cook techniques.
Grocery List
- Produce: yellow onions, garlic, fresh ginger, tomatoes, cilantro or parsley
- Dairy: ghee (or substitute neutral oil)
- Pantry: basmati rice, tomato paste, dried limes (loomi), cumin, coriander, turmeric, black pepper, ground cardamom, baharat, cinnamon stick, cloves, bay leaves, saffron (optional), raisins (optional), slivered almonds (optional), salt
- Meat: lamb shoulder (bone-in or boneless)
Full Ingredients
Lamb and braising base
- 1.5 kg lamb shoulder, bone-in or boneless, cut into 6–8 cm chunks
- 2 tbsp ghee (30 g) or 2 tbsp neutral oil (30 ml)
- 2 large yellow onions, thinly sliced (about 450 g)
- 6 garlic cloves, minced
- 1 tbsp finely grated fresh ginger (about 10 g)
- 2 medium tomatoes, diced (about 300 g)
- 2 tbsp tomato paste (about 35 g)
- 2 dried limes (loomi), pierced 6–8 times with a skewer or tip of a knife
- 1.75 L hot water (or unsalted lamb/chicken stock), plus more if needed
- 2 tsp fine salt (10 g), plus more to taste
Fragrant Gulf spice blend
- 1.5 tsp ground cumin
- 1.5 tsp ground coriander
- 1 tsp turmeric
- 1 tsp ground black pepper
- 1 tsp ground cardamom
- 1 tsp baharat (or substitute 1 tsp garam masala)
- 1 cinnamon stick
- 4 whole cloves
- 2 bay leaves
Spiced rice and finishing touches
- 3 cups basmati rice (600 g), rinsed until water runs mostly clear
- 6 cups (1.42 L) reserved lamb broth (measured after braising), topped up with water/stock if needed
- 1 tbsp ghee (15 g) or butter (optional, for extra richness when finishing the rice)
- Pinch saffron (about 1/8 tsp) + 2 tbsp hot water (optional)
- 2 tbsp raisins (about 20 g), optional
- 1/3 cup slivered almonds (45 g), optional, toasted
- 2 tbsp chopped cilantro or parsley, for serving

Step-by-Step Instructions
Step 1: Rinse and soak the basmati
Place 3 cups (600 g) basmati rice in a large bowl. Cover with cool water, swish with your hand, and drain. Repeat 4–6 times until the water runs mostly clear.
Cover the rice with fresh water and soak for 15 minutes, then drain well. (This helps the grains cook up long and fluffy.) Set aside.
Step 2: Sear the lamb for deeper flavor
Heat 2 tbsp ghee in a large, heavy pot or Dutch oven over medium-high heat for 2 minutes.
Pat the lamb dry with paper towels (this helps it brown). Add lamb in a single layer (work in 2 batches if needed) and sear until well browned, about 4 minutes per side. Transfer browned lamb to a plate.
Step 3: Caramelize onions, then build the spice base
Reduce heat to medium. Add the sliced onions to the same pot and cook, stirring often, until softened and turning deep golden, 12–15 minutes. If the pot looks dry at any point, add 1–2 tbsp water and scrape up the browned bits.
Stir in the garlic and ginger and cook 1 minute, just until fragrant.
Step 4: Bloom the spices, tomatoes, and dried limes
Add the spice blend: cumin, coriander, turmeric, black pepper, cardamom, baharat, cinnamon stick, cloves, and bay leaves. Stir constantly for 30 seconds to bloom the spices without burning.
Add diced tomatoes and tomato paste. Cook, stirring, until the tomato paste darkens slightly and the mixture thickens, 3–4 minutes.
Add the pierced dried limes and stir to coat them in the spiced tomato-onion base.
Step 5: Braise the lamb until fork-tender
Return the seared lamb (and any juices) to the pot. Add 1.75 L hot water/stock and 2 tsp fine salt. Bring to a boil over high heat, about 8–10 minutes.
Once boiling, cover with a tight-fitting lid and move the pot to the oven. Braise at 160°C / 325°F until the lamb is very tender, 1 hour 45 minutes. (If you have a thermometer, aim for an internal temperature around 95°C / 203°F for shreddably tender lamb.)
Carefully remove the pot from the oven. Taste the broth and adjust salt if needed.
Step 6: Strain and measure the broth for perfectly cooked rice
Transfer lamb pieces to a plate and cover loosely with foil to keep warm.
Pour the braising liquid through a fine-mesh strainer into a large bowl or measuring jug to remove whole spices, bay leaves, and any onion/tomato solids. (If you like a more rustic machboos, you can strain lightly and keep some onion-tomato bits in the broth; just be consistent when measuring.)
Measure out exactly 6 cups (1.42 L) broth. If you have less, top up with water or stock. If you have more, save it for serving on the side.
Step 7: Cook the rice in the lamb broth
In a clean pot with a tight lid, combine the drained rice and 6 cups (1.42 L) measured broth. Bring to a boil over high heat.
Boil uncovered for 2 minutes, stirring once to prevent sticking. Reduce to the lowest heat, cover tightly, and cook for 15 minutes.
Turn off the heat and let the rice rest, covered, for 10 minutes. This step finishes steaming the grains so they stay separate and fluffy.
If using saffron: stir pinch saffron into 2 tbsp hot water, then drizzle over the cooked rice in a few spots. Add 1 tbsp ghee (optional) and gently fluff with a fork.
Step 8: Finish, garnish, and serve
To serve family-style, mound the rice on a large platter. Arrange the lamb pieces over the top. If you like, lightly crack one dried lime open at the table (it’s very tangy and intense) and let diners add a little to their plate.
Garnish with chopped cilantro/parsley. For extra texture and sweetness, top with raisins and toasted slivered almonds.
Serve with extra reserved broth on the side (or spoon a little over each portion) for a luxuriously moist, deeply aromatic machboos.
Pro Tips
- Pierce the dried limes well: 6–8 holes helps their citrusy, smoky tang infuse the broth without needing to cut them open.
- Don’t overdo the loomi: Dried lime can turn bitter if aggressively crushed and cooked too long. Keep them whole, and taste before adding more.
- Measure the broth: For fluffy rice, use exactly 6 cups (1.42 L) broth for 3 cups (600 g) basmati.
- Want a stronger tomato note? Add an additional 1 tbsp tomato paste and cook it for 1 extra minute before adding liquid.
- Make it guest-friendly: Strain out whole spices before serving so no one bites into a clove.
Variations
- Chicken machboos: Swap lamb for 1.6 kg bone-in chicken pieces. Braise at 160°C / 325°F for 45–55 minutes until chicken reaches 75°C / 165°F, then proceed with rice.
- Spicier Gulf-style heat: Add 1 small green chili (slit) with the tomatoes, or add 1/2 tsp chili flakes with the spices.
- Extra festive topping: Top with crispy fried onions and a sprinkle of toasted pine nuts (in addition to or instead of almonds).
Storage & Make-Ahead
Cool leftovers within 2 hours. Store rice and lamb in airtight containers in the refrigerator for up to 4 days. Reheat gently: add a splash of broth or water and warm covered on the stovetop over low heat for 10–12 minutes, or microwave covered at 50% power in 1-minute bursts until hot. You can braise the lamb and make the broth up to 2 days ahead; refrigerate broth and lamb separately, then cook the rice fresh on serving day using the measured broth.
Nutrition (per serving)
Approximate, based on 6 servings: 780 calories, 40 g protein, 86 g carbohydrates, 28 g fat, 4 g fiber, 980 mg sodium. (Values vary with lamb cut, salt level, and optional toppings.)

