-
1
Heat 2 tbsp canola oil in a large heavy saucepan over medium-high heat.
-
2
Cook lamb, in batches, for 3 to 5 minutes, until browned on all sides.
-
3
With a slotted spoon, remove lamb to a plate as each batch browns, and add more oil to the saucepan as necessary.
-
4
Wipe out the saucepan with paper towels and Melt 2 tablespoons butter in the same saucepan over low heat.
-
5
Add cumin seeds and cook, stirring, for 1 minute, until seeds start to sizzle (omit this step if substituting ground cumin).
-
6
Add garlic and ginger, then cook, stirring for 1 minute, until garlic is softened.
-
7
Add onions, increase heat to medium-low, then cook, stirring for 7 to 10 minutes until onions are golden brown.
-
8
Add remaining butter, then stir in ground coriander, ground cumin, turmeric, cayenne, cloves and cinnamon.
-
9
Increase the heat to medium, then cook, stirring often, for 5 minutes, until butter starts to separate from the spice mixture.
-
10
If spices start to stick to the bottom of the saucepan, add more butter or lower the heat slightly.
-
11
Stir in yogurt, then cook, stirring often, for 3 to 4 minutes, until butter starts to separate again.
-
12
Stir in tomatoes, water and salt, adding a little more water if the fresh tomatoes are not very juicy (at this stage the curry should be the consistency of thick soup).
-
13
Return lamb to the saucepan, then bring curry to a boil over medium heat.
-
14
Reduce heat to low, then simmer, covered, for about 1 hour.
-
15
Remove lid and cook over medium-low heat, stirring occasionally, for 30 to 45 minutes, until juices have thickened slightly and lamb is tender.
-
16
Just before serving, adjust seasoning to taste and stir in fresh coriander.