Heat the oil in a large saucepan over a low heat and cook the chopped onion and cardamom pods until the onion is soft – around 10 mins.
While the onion is cooking, cut up the cauliflower. Break the florets in to medium sized florets, cut the leaves in to 1 cm strips and cut the stalk into chickpea-sized cubes (approx 1cm).
Add the minced garlic and finely grated ginger and cook for 1 minute before adding the chilli powder, ground cumin, ground coriander, and turmeric. Cook for 30 seconds, until fragrant.
Pour in the chopped tomatoes and water then add the cauliflower florets and chopped cauliflower stalks and the salt.
Place the lid on the pan, turn the heat up and bring to a boil then turn the heat down to medium and simmer, covered, for 18-20 minutes, until the cauliflower is just tender but still with some bite. Check halfway through - if it is looking dry, add a splash more water (keeping in mind coconut milk will be added later.)
Pour in the coconut milk, then add the drained chickpeas and garam masala.
Heat through for 5 minutes, then serve spooned over rice and sprinkled with fresh coriander.
Store leftovers in a sealed container in the fridge for up to 3 days.