In a large pot or skillet over medium heat, melt the butter. Add the cinnamon stick, cloves, bay leaf, and cardamom. Cook for about 1 minute until fragrant.
2 tablespoons unsalted butter, 1 3-inch cinnamon stick, 6 whole cloves, 1 teaspoon cardamom powder, 1 bay leaf
Add the onions and cook until soft, about 5 minutes. Stir in the garlic and ginger and cook for another minute.
1 cup yellow onion, 5 garlic cloves, 1 tablespoon fresh ginger
Add the lamb pieces and season with salt. Cook until browned on all sides, about 6–8 minutes.
3 pounds boneless lamb shoulder, 1½ teaspoons salt
Stir in the garam masala, paprika, and curry powder. Add the tomato paste and cook for 2–3 minutes, stirring, until slightly darkened and fragrant.
4 teaspoons garam masala, 4 teaspoons paprika, 1 tablespoon curry powder, ¼ cup tomato paste
Pour in the chicken stock and bring to a gentle simmer.
1½ cups chicken stock
Transfer everything to a deep, air fryer-safe dish and cover tightly with foil.
Preheat the air fryer to 340°F (170°C).
Cook for 75–90 minutes, stirring halfway through if possible, until the lamb is tender. Carefully remove the dish from the air fryer.
In a small bowl, mix the yogurt with a few spoonfuls of the hot sauce to temper it, then stir it back into the dish.
½ cup plain full-fat yogurt
Return to the air fryer (uncovered) for 5–10 minutes to heat through and slightly thicken the sauce.
Remove the whole spices (bay leaf and cinnamon stick). Garnish with fresh cilantro and serve warm.
¼ cup fresh cilantro