Chop the onions into medium dice. See our onion Tip. Also chop the garlic. See our garlic Tip. Peel and grate the ginger. See our ginger Tip. Now make the cashew nut butter. Place the nuts into the bowl of a food processor or blender (you can roast them first if you wish). Pulse repeatedly for 10 to 30 seconds at a time, taking care not the burn the motor on your blender. More shorter blasts, with pauses in between, are best. As the nuts begin to form a 'sludge', scrape down the bowl between blasts. Keep going until the nuts form a slightly wet, shiny paste. This will likely take 5 minutes or more. Add about 2 generous teaspoons of vegetable oil (or other neutral oil) and pulse again a few times until you have a smooth nut butter.
To make the curry, first brown-fry the onions. Set some vegetable oil in a large frying pan or wok over a medium heat and add the onions. Do not turn the heat down. Stir the onions frequently to prevent them burning. While the onions are cooking, measure out your spice mix. When you see the oil begin to separate from the onions, it means they are near to browning - they can easily burn at this stage, so keep stirring until they are a nice golden brown colour (this can take 20 to 25 minutes), then add the garlic and ginger. Stir for another minute or two, then add the spice mix (but not the garam masala yet) and stir again to combine.
Add the mince to the pan, breaking it up a little with your spoon. Stir frequently so the meat browns evenly - it is ready when there is no visible red or pink colour, and the meat is a uniform brown. Season with a little salt.
Now add the tinned tomatoes - break them up if they are whole. Rinse out the cans with a little boiling water, and add this to the pan. Stir.
Add about 3 to 4 tablespoons of the cashew nut butter to the curry - you should have a little left over. Do not be tempted to add more - it will overpower the flavour and make the sauce oily. 3 to 4 tablespoons is enough to make the sauce velvety and rich. Stir well to distribute.
Add the chick peas, along with their liquid. You can also add a little more boiled water - about 150ml in total, together with the liquid you added from the tomato tins. Bring the sauce to the boil, then turn the heat down, and cover with a lid. Simmer for about 40 to 45 minutes until the sauce is rich, reduced and glossy. Stir frequently to prevent sticking.
While the sauce is cooking, prepare the garnish and raita (if serving). See our best raita recipe here. Also cook the rice, if serving. See our rice Tip for details and timing - allow about 20 to 30 minutes before serving for basmati. For the garnish, slice the red onion, and place in a serving bowl. See our onion Tip. De-core and chop the tomatoes into bite-sized pieces, and add to the bowl. Chop the chillies into rounds, and tap our some of the seeds. Add the chopped chilli to the bowl, leaving behind any seeds, and stir to combine. Your curry can be prepared ahead, and removed from the heat when the cooking time is up, to be reheated just before serving. Or you can serve immediately. Before serving, add the garam masala, stir in, then taste the sauce. Adjust any seasoning.
Serve the curry on the rice, or alongside some Indian bread. Top with the garnish - you can adjust the heat of the dish by adding more or less of the chillies. Serve the raita on the side.
Enjoy!