Remove seeds and white membrane from the chili and chop finely. Set aside with garlic and ginger.
Heat 2 tablespoons oil in a frying pan and brown the lamb in batches. Drain on paper towel.
In a dry frying pan, combine fenugreek seeds, cumin seeds, mustard seeds, cinnamon stick, and cardamom pods. Cook for 1 minute or until seeds start to pop. Set aside.
Heat remaining oil and cook onions until softened, 3-4 minutes, then add the roasted whole spices.
Add garlic, ginger, chili, turmeric, ground cumin, chili powder, ground coriander, and bay leaves to the onion mixture. Cook for 1 minute.
Add browned lamb and beef stock. Bring to boil, then reduce heat to low and cook covered for 1 hour 15 minutes, stirring occasionally.
Add spinach and salt, cook for 5 more minutes or until spinach is wilted.
Stir in fresh coriander and yogurt. Discard cinnamon stick and bay leaves before serving.