Combine the coriander powder, cumin powder, Indian restaurant spice mix, tandoori masala powder, kashmiri chili powder, paprika, black pepper, salt and kasoor methi in a small bowl. This is your spice mix.
Cut up the onion and red pepper.
Dilute the tomato paste with enough water to get to the consistency of passata.
Heat your frying pan (don't use non-stick) briefly over medium heat. Add 3 Tbsp vegetable oil. Use all the oil specified. It's important.
When the oil starts to shimmer add the cinnamon bark and green cardamom. Cook until you see little bubbles form around the whole spices.
Add the onions and peppers and cook until the onions are soft and a few are starting to brown around the edges.
Add the garlic ginger paste. Cook it, stirring constantly, until it stops sputtering.
Turn down the heat to medium low and add the spice mix. This is the critical step. Stir it constantly for about 30 seconds. If it starts to darken lift the pan off the heat. You want the spice mix to cook in the oil but not burn.
Turn the heat up to medium high. Add the diluted tomato paste and stir until bubbles form (the oil will likely separate). This takes around 30 seconds to one minute depending on the heat.
Add the cilantro leaves and stems. Cook for around 15-20 seconds.
Mix in the yoghurt. Cook, stirring constantly, for about 30-45 seconds.
Add 3 oz of curry base. Stir until bubbles form (little craters really), around 30 seconds. Watch the edges of the pan. The curry can stick here.
Now add 6 oz of curry base and stir briefly. Let it cook until the bubbles form again. This takes 1-2 minutes.
Add the rest of the curry base and let cook until the bubbles form. Turn the heat down to low and add the pre-cooked lamb and sugar.
Let the curry simmer for about 5 minutes. If it gets too thick add a bit more curry base. Don't add water.
Add the cherry tomatoes and cook until the tomatoes are just warmed through. Garnish with a bit of chopped fresh coriander if you like and serve.