Peel and roughly chop the onions, garlic and ginger. Blend into a rough paste.
Roughly chop the tomatoes and blend them into a puree.
Heat the oil in a large pan over medium-high heat. Add the whole spices and allow them to bloom.
Lower the heat to medium and add the onion, garlic and ginger puree—Fry for about 10 to 15 minutes. Stir often from the bottom as it may get stuck to the bottom of the pan.
Add the cumin, coriander and turmeric powder and fry for about 2 minutes. At this stage, you may see that the onion paste is getting stuck to the bottom of the pan. Don't worry too much about it as long as it's not getting black and burnt.
Add the tomato puree and stir, especially scraping the bottom of the pan to ensure nothing is stuck. Continue stirring and cooking for about 10 to 15 minutes. You will notice the colour is becoming more brownish.
Add the chilli powder and continue stirring. At this point, as the tomato is getting cooked, it may splatter. Keep stirring to stop this. Cook for another 5 minutes.
Remove from the heat and cool before transferring it into an ice cube tray.
Freeze once cooled
Two to three cubes give one portion of sauce. Add approximately 50ml of water per portion.