In dry skillet, toast cashews over medium heat until well browned. Transfer to food processor; pulse until fine. Set aside in food processor.
In same skillet, heat 1/4 cup (50 mL) of the oil over medium heat; cook onions, stirring occasionally, for about 20 minutes or until caramelized. Let cool. Add to cashews; puree until smooth.
Meanwhile, cut lamb into 1-inch (2.5 cm) cubes; toss with half each of the salt and pepper. In same skillet, brown lamb, in batches, over medium-high heat; transfer to bowl. Add 1/3 cup (75 mL) water to pan, scraping up any brown bits. Add to lamb; set aside.
In Dutch oven, heat remaining oil over medium heat; fry chilies, bay leaves, garlic and ginger for 5 minutes, stirring often and adding up to 2 tbsp (25 mL) water if mixture sticks to pan. Add coriander; fry, stirring, for 2 minutes. Add garam masala; fry, stirring, for 30 seconds.
Stir in yogurt, mace and cayenne; cook, stirring, for 5 minutes. Whisk in stock, onion mixture and remaining salt and pepper until combined.
Add lamb and any juices to pan; bring to boil. Reduce heat, cover and simmer, stirring often, for about 1-1/2 hours or until lamb is tender and sauce is darkened and thickened. Discard bay leaves.
Meanwhile, warm rose water in microwave on high for 30 seconds. Stir in saffron and let stand for 15 minutes. Stir into lamb mixture along with lime juice. If desired, add more lime juice and salt to taste. (Make-ahead: Let cool for 30 minutes; refrigerate in airtight container for up to 3 days.)
Additional information : Tip: Garam masala is available in Indian stores and the spice aisle of many grocery stores and supermarkets. But the flavour is best when you toast and grind your own spices.
Here’s how: Toast 1 each cinnamon stick and black cardamom pod, broken; 1 tsp (5 mL) each whole cloves and peppercorns; and 1/2 tsp (2 mL) fennel seeds until aromatic. Grind in spice grinder until powdered.
Makes about 1 tbsp (15 mL).