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 (⅓ inch) strips and cut the stalk into chickpea-sized cubes (approx 1cm / ⅓ inch).
Add the crushed garlic and finely grated ginger and cook for 1 minute before adding the chilli powder, ground cumin, ground coriander, and turmeric.
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.
Pour in the coconut milk, then add the chickpeas and garam masala.
Heat through for 5 minutes then serve.
Serve with rice, naan, chapatis. Sprinkle with fresh coriander and a pinch more garam masala sprinkled over.