Ingredients
- 3 tablespoons olive oil
 - 1 large onion, chopped
 - 1 cinnamon stick
 - 1 bay leaf
 - 3 cloves minced fresh garlic
 - 1 tablespoon fresh grated ginger
 - 1 teaspoon cumin
 - 3 green cardamom pods, cracked open
 - 1/4 teaspoon cayenne
 - 1/2 teaspoon ground coriander
 - 1/2 teaspoon turmeric
 - 1/2 teaspoon garam masala
 - 1 can (28-oz.) whole peeled plum tomatoes, with their juice
 - 1 serrano chile, seeded and diced small
 - 1 tsp. salt
 - 2 cups cooked red kidney beans (or 1.5 14-oz. cans), in their juices
 - 1 small or ½ large head cauliflower, cut into bite-sized florets
 - 1.5 cups chicken or vegetable stock
 - 2 cups fresh baby spinach leaves
 - Juice of 1 lemon
 - ½ cup Greek yogurt
 - ¼ cup fresh cilantro, coarsely chopped
 - hot cooked rice
 
Directions
- Heat the olive oil in a heavy-bottomed dutch oven over medium. Add the onion cook for a couple of minutes until it begins to lose its sharp white color
 - Stir in the cinnamon stick, bay leaf, minced garlic, grated ginger, cumin, and cardamom and fry, stirring frequently, for about 2 minutes.
 - Add the cayenne, coriander, turmeric, and garam masala and cook, stirring, for another minute. Next, add the serrano chile.
 - Cut the canned tomatoes into bite-sized pieces, directly into the pot, with kitchen shears. Pour in the tomato juices from the can and let them reduce for a few minutes. Stir in the salt, kidney beans, cauliflower, and chicken stock.
 - Lower the heat to medium-low and simmer for 20 minutes, or until the cauliflower is tender and the liquid has thickened into a gravy-like sauce.
 - Spread the baby spinach across the top of the stew, then delicately stir it in to just wilt it.
 - Stir together the yogurt, lemon juice and cilantro in a small bowl to make the topping.
 - Serve the stew hot over rice, with a sizeable dollop of yogurt sauce on top.
 
Recipe adapted from My Recipes.