Place all the spices into a bowl. Warm up a large skillet and roast the spices in the dry skillet to medium heat. When the spices darken and expel their aroma, put them aside back in the bowl.
Put the skillet back on the heat, add in the oil and cook the onion on medium heat until it becomes translucent. Then combine the garlic and ginger mixing for a minute or two followed by the spices and the tomatoes.
Add a cup of water adding the salt and cardamom seeds, the grated lemon zest together with the juice and leave to simmer, lowering the heat.