In a small bowl, combine the garam masala, cumin and ground ginger. Use the flat of a chef's knife to crack the cardamom pods and add those to the bowl too.
Heat the butter in a heavy skillet or Dutch oven over medium heat. Add the onion and cook for about 10 minutes, browning the onion and letting it develop dark color, although without burning it. Stir in the garlic and ginger and cook for 2 minutes.
Add the spices from the cup and stir them into the onion mixture. Add the tomatoes and the chickpeas and saute for about 2 minutes. Take the pan off the heat and stir in the shaken coconut milk. Return the pan to the heat and bring to a gentle boil. Turn down the heat, stir in the cauliflower and simmer for about 30 minutes, or until the chickpeas are tender and the sauce has reduced slightly.
Add the baby spinach in handfuls, stirring in each handful to help it wilt before adding the next. Stir in the lemon juice. Taste and season with salt.
Serve immediately over rice, or let cool and refrigerate. The curry will hold up well in the refrigerator in an airtight container for up to 5 days.
Notes
If you are preparing this recipe asĀ GLUTEN-FREE, just be sure to use brands of tomatoes, chickpeas and coconut milk that are known to be GF.
If you don't have fresh spinach, it's okay to sub 1 cup thawed and drained frozen.
If you are counting WW points, use light coconut milk for an accurate point count.