¾cup(180ml)vegetable brothreduced–sodium – plus more to taste
1can crushed tomatoes15 oz / 400 g
1cancoconut milk14 oz /400 g – sub light coconut milk, 1 cup (250 ml) heavy cream, or 1 cup (250 ml) half-and-half
4cups(4handfuls)spinach
1teaspoonsaltor more to taste
¼teaspoonblack pepper
1teaspoongaram masalaoptional – or a pinch of cinnamon
1lemonor lime
4servingsbasmati rice+ Greek yogurt
Cook the spices: Heat 2 tablespoons olive oil in a large skillet or Dutch oven over medium-low heat. Add 1 large onion (chopped) and cook for 4 minutes, stirring occasionally.Add 3 cloves garlic (grated), 1 inch ginger (grated), 2 teaspoons curry powder, 2 teaspoons ground coriander, 1 teaspoons ground cumin, 1 teaspoon turmeric powder, and ¼ teaspoon red pepper flakes. Stir for 1 minute until fragrant. Add a splash of broth if the pan gets dry.
Add the beans: Drain and rinse 1 can black beans, 1 can kidney beans, and 1 can chickpeas. Add them to the skillet and stir for 1 minute to coat them in the spices.Pour in ¾ cup vegetable broth, 1 can crushed tomatoes, and 1 can coconut milk. Add 1 teaspoon salt and ¼ teaspoon black pepper, then stir well.
Simmer the curry: Bring to a gentle simmer and cook uncovered for 15–20 minutes, stirring occasionally, until the sauce thickens and becomes creamy.Add 4 cups spinach and cook for 1 minute, until wilted. Stir in 1 teaspoon garam masala, if using. Taste and adjust the salt.
Serve: Spoon the curry over basmati rice or serve with warm naan, roti, or paratha.Finish with a squeeze of lemon or lime and a dollop of Greek yogurt if you like.
Substitutions
Olive oil → Avocado oil or coconut oil.
Onion → Shallots or leeks.
Garlic → Garlic paste or garlic-infused oil.
Ginger → Ginger paste or ground ginger.
Curry powder → Mild or hot curry powder.
Ground coriander → Extra cumin.
Ground cumin → Extra curry powder.
Turmeric → Omit if unavailable.
Red pepper flakes → Cayenne or fresh chili.
Black beans → Pinto beans.
Kidney beans → Cannellini beans.
Chickpeas → Butter beans.
Vegetable broth → Water and extra seasoning.
Crushed tomatoes → Diced tomatoes.
Coconut milk → Light coconut milk, 1 cup heavy cream, or 1 cup half-and-half.
Garam masala → A pinch of cinnamon or omit.
Spinach → Chopped Swiss chard.
Lemon or lime → Either citrus, with fresh cilantro for serving.
Basmati rice → Naan, roti, or paratha.
Greek yogurt → Low-fat Greek yogurt or Skyr for extra protein.
Tips
Toast the spices: Stir for 1 minute over medium-low heat to release their aroma without burning.
Rinse the beans: Drain well to remove excess sodium and avoid watering down the sauce.
Use full-fat coconut milk: For the richest, creamiest sauce.
Simmer uncovered: Keep the heat gentle and stir occasionally to thicken the sauce without breaking the beans.
Mash a few beans: Stir them into the sauce for extra creaminess.
Add spinach last: Cook for about 2 minutes, just until wilted.
Finish with citrus: A squeeze of lemon or lime brightens the flavors.
Adjust salt at the end: Taste after the sauce has reduced.
Add garam masala last: Stir it in just before serving for the best aroma.
Store and freeze: Refrigerate for 3–4 days or freeze for up to 3 months. Reheat with a splash of broth or water if needed.