Make the spice mix.
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 the oil.
When the oil starts to shimmer add the cinnamon stick, bay leaf and cardamom pods. Toss the whole spices around the pan for about 15 seconds until bubbles start to form around them. They may crackle a bit.
Add the onions or shallots and chopped cilantro and stir constantly until the edges of the onions start to brown. This takes about a minute.
Next comes the garlic ginger paste. Add it into the pan and cook it, stirring constantly, until it stops sputtering.
Turn down the heat and add the spice mix. This is the critical step. Stir it constantly for 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. This is important. 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 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. Sticking is OK. Burning is bad. Just scrape anything that forms back into the curry. If it really burns, chuck it and start again...
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, beef or chicken.
Mix in the 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 they are heated through.
Garnish with a bit of chopped fresh cilantro and serve.