Make the spice mix.
Dilute the tomato paste with enough water to get to the consistency of passata.
Dilute your coconut milk powder enough with water to get it to the consistency of coconut milk.
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. Toss is around the pan for about 15 seconds until bubbles start to form around it. It may crackle a bit.
Add the onions 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. The heat is what caramelizes the onion base and gives the curry it's Indian restaurant flavour. As you become more comfortable with this technique try pushing it. 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. Think lively boil. Watch the edges of the pan. The curry can stick here. Sticking is OK. Just scrape it back into the base. Burning is bad.
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. Add the lemon and diluted coconut milk powder. Turn the heat down to low and add the pre-cooked lamb, beef or chicken.
Let the curry simmer for about 5 minutes. If it gets too thick add a bit more curry base. Don't add water.
Garnish with a bit of chopped fresh cilantro and serve.