My new cookbook Big Vegan Flavor is now available!

Creamy Cabbage Curry

Jump to Recipe
If you think cabbage can’t be luxurious, think again! This creamy cabbage curry delivers nourishment while being seriously indulgent. The cabbage melts down into silky sweetness and mingles with warming Indian spices before simmering with coconut milk and chickpeas for a cozy, complete meal.
Prep 15 minutes
Cook 35 minutes
Total 50 minutes

If you’re a fan of my red lentil curry (RPL’s most popular recipe!), allow me to introduce you to its ultra cool cousin—creamy cabbage curry.

The humble cabbage is cooked into luxurious silkiness (you won’t even notice there’s 8 whole cups of it!), flavored with warming Indian spices, and simmered with coconut milk and almond butter to become a richly creamy and aromatic curry.

And don’t be afraid to save some for lunch the next day because this curry tastes even better after a flavor-enhancing night in the fridge!

Table of Contents:
1. Ingredient notes
2. Step-by-step instructions
3. Tips for making this recipe
4. Frequently Asked Questions
5. Recipe card with notes

Curry topped with cilantro and serrano slices, served in a skillet with naan.

You’ve been sleeping on cabbage

I’ve been on a mission to make cabbage more exciting and to help home cooks see it can be so much more than coleslaw. 

Case in point #1: The Buttery Charred Cabbage from my cookbook Big Vegan Flavor, which was a hit at my restaurant popup with Avant Garden earlier this year (make it yourself by flipping to p. 401!). 

Case in point #2: This new cabbage curry, which is creamy, indulgent, and has the perfect touch of sweetness from the cabbage.  

Just ask Max—this is actually his new favorite RPL recipe, which is saying a lot because he’s constantly trying new recipes. Plus, Max is actually the surprise hero of this recipe. 

After recipe test #4 (which was good…but we’re not aiming for merely “good” in the RPL kitchen, are we?) Max—whose culinary feedback is usually limited to “It’s good,” or “It’s nice”—said, “What about adding almond butter like you do in your red lentil curry?”

Fast forward to recipe test #5 and, lo and behold, the almond butter dramatically improved the curry’s flavor and texture. Let’s hear it for Max 👏🏽

bowl of curry with a side of roti and a lime wedge.

Ingredient notes

cabbage curry ingredients in various bowls on a white tiled table.

Cabbage

The magic of this recipe lies in slicing it or shredding it about as thinly as you can, then sautéing until silky. This allows the cabbage to melt into the curry and lends the finished dish a subtle sweetness and texture that is lightyears away from the in-your-face cruciferousness of raw cabbage.

Substitutes: Good ol’ green cabbage works great here (it’s widely available and inexpensive), but you could also use napa or savoy cabbage (napa cabbage will cook more quickly). Red cabbage is earthier and less sweet, so I’d skip that. 

Indian aromatics and spices

While this is by no means a traditional Indian recipe, it will dazzle you with its bold Indian flavors.

That’s because this recipe, like many of my Indian recipes, starts out with aromatics—in this case, garlic and serrano pepper—followed by a generous blend of Indian spices.

To keep things beginner-friendly and weeknight-friendly, I use a blend of ground spices instead of whole spices, and it works incredibly well here: red chili powder, cumin, coriander, turmeric, plus garam masala at the end.

Substitute: This recipe calls for Kashmiri chili powder, which is a mild Indian red chili powder with a vibrant red color and slightly sweet, smoky flavor. Sold online or at South Asian grocers. If you don’t have it, use 1 ¾ teaspoons of sweet or hot paprika with ¼ teaspoon of cayenne pepper (or just 2 tsp of paprika and no cayenne).

Identification Tip: If you have red Indian chili powder at home but not sure what kind, taste just a tiny bit. If it’s really spicy, it’s likely not Kashmiri chili powder, so use just ¼ to ½ teaspoon of that to avoid an overly spicy curry.

Coconut milk

This is the secret behind the luxuriously creamy mouthfeel and indulgence factor. The fat in the coconut milk also helps temper the heat from the serrano peppers and spices, making for a well-balanced curry.

Shopping Tip: Buy full-fat coconut milk in a can, not cartons of coconut milk or “cream of coconut” (which is sweetened). 

Substitute: If you want a lighter curry, you can use light canned coconut milk, or make your own: use ⅔ cup (160 mL) full-fat coconut milk with 1 cup (240 mL) water. Full disclosure: we tried the latter and the results were fine but not nearly as good as the original.

If you really want to avoid coconut milk, the best substitute would be a homemade cashew cream/milk. See the first FAQ for instructions.

Chickpeas

Chickpeas makes this cabbage curry a complete meal, adding extra fiber and some protein! If you want to make this dish even more filling, feel free to throw in a second can of chickpeas along with ½ cup (120 mL) of water, as there won’t be enough liquid otherwise. 

Almond Butter

Thanks again to Max for his suggestion to include this ingredient! It adds an extra layer of richness and a subtle nuttiness that work in tandem to make the curry exquisite. 

Trust me—having tried the versions without almond butter and with almond butter back-to-back, I can definitively say that the almond butter (just 2 tablespoons!) works like a charm.

Substitute: Cashew butter works well. If you have a nut allergy, sub with well-stirred tahini. 

Step-by-step instructions

In a large sauté pan, heat up the oil over medium-high. Add the garlic and serrano pepper and stir frequently for 30 to 60 seconds.

Add cabbage and toss to coat in the oil and aromatics.

Cook for 10 minutes, stirring occasionally, until tender and browned in spots. Add the tomato paste and ground spices (red chili pepper, coriander, cumin, turmeric, salt, black pepper) and stir frequently for 2 minutes.

tomato paste and ground spices added to the cooked cabbage.

Add the tomatoes and cook for 4 to 5 minutes, until they have softened.

tomato paste and ground spices cooked into the cabbage.

Pour in the coconut milk, chickpeas, almond butter, and a bit more salt. Stir well. 

Simmer, uncovered, for 15 to 20 minutes, stirring every few minutes to prevent sticking, until the flavors have melded together and curry has thickened. 

cooked curry in saucepan.

Remove from heat and stir in the garam masala, lime juice, and cilantro. Rest for 5 to 10 minutes before serving.

Tips for making this recipe

Slice the cabbage thinly

What I love about this recipe is that the cabbage really melts into the curry. There aren’t big chunks of it like you might find in other recipes. So be sure to slice the cabbage thinly, almost as thinly as you can. A sharp knife works great, but you can also use a mandoline (I love this handheld one and this larger, professional model).

Tailor the spice accordingly

I call for two serrano peppers in this recipe, which sounds quite spicy, but the full-fat coconut milk tempers the spice, yielding a curry with medium heat.

For the spicy lovers: Use 3 serrano peppers! 
For the spice-averse: Use 1 serrano pepper or even a jalapeño pepper. If you can handle some heat, keep the membranes and seeds in; if not, scrape them out first. 

Adjust the heat as needed

As the cabbage cooks, keep an eye on the pan—if the cabbage starts browning quickly or the garlic starts to get dark, lower the heat to medium and add a splash of water to scrape up the fond (fond = browned bits on the bottom of the pan).

Stir to prevent sticking (and add water as needed)

The curry will thicken as it simmers thanks to the coconut milk and almond butter so you’ll need to stir every few minutes to prevent sticking on the bottom of the pot.

Depending on how thick or liquidy you prefer your curries, you may want to add some water during simmering, about ¼ to ½ cup (60 to 120 mL). 

overhead view of cabbage curry and naan in a skillet.

Frequently Asked Questions

What can I use instead of coconut milk?

Follow these steps to make a cashew cream which can be used in place of the coconut milk:

1. Soak ½ cup (70g) of raw, unsalted cashews in water overnight, or do a quick soak by adding them to a saucepan, covering with water, and boiling for 15 minutes. Drain the cashews and rinse well.
2. Add ½ cup (120 mL) of water to a small-capacity high-powered blender (small blender jug, 32 oz / 1L or smaller) [see note below]. Add the drained cashews, 1 TBSP of freshly squeezed lemon juice, and ½ tsp kosher salt.
3. Blend for about 2 minutes, starting on low and gradually moving up to high speed. Scrape down the sides as you go and blend until it’s completely smooth and no cashew bits remain.

Note: If you only have a large-capacity high-powered blender, you’ll need to double the ingredients, as there isn’t enough liquid here to blend in a large container. A food processor can be used, but the texture won’t be as smooth. In a food processor, blend the ingredients for approximately 4 minutes.

I have a nut allergy—what can I use instead of almond butter?

No nuts, no problem! Sub with tahini!

How should I serve this cabbage curry?

I love it with vegan naan or the fluffy pita bread from Angel Bakery, but you can also serve it with rice. And voilà, you have a complete, balanced, and truly delicious meal. 

But if you’re looking for a little something extra on your plate, you could serve it with a green salad or an Indian kachumber salad (sliced or diced cucumbers, tomatoes, and red onions dressed with lime juice, salt, pepper, chopped cilantro, and a bit of garam masala or chaat masala, if you like).

How do you store leftovers? Can you freeze it?

Store leftovers in an airtight container in the fridge for up to 5 days (and get excited—this meal tastes even better the next day as the flavors and spices have a chance to mingle). 

The curry thickens A LOT in the fridge because of the coconut milk, but once you heat it up in the microwave it will return to its original texture, more or less. If you are heating it up on the stove, you might want to add a splash of water to thin it out.

You can freeze leftovers for up to 3 months, but be sure to leave a bit of headspace in the container.

Defrosting tip: You’ll get the best results by defrosting the curry in the fridge first, rather than heating it straight from frozen. I love using these Souper Cubes to freeze leftovers in individual portions. You’ll likely want to thin the curry with a bit of water as you’re heating it up.

bowl of cabbage curry on platter next to garlic naan.

Did this cabbage curry make you fall in love with cabbage? Make my day by leaving me a rating and review below ☺️

Big Vegan Flavor

Techniques and 150 recipes to master vegan cooking.

Creamy Cabbage Curry

No ratings yet
If you think cabbage can’t be luxurious, think again! This creamy cabbage curry delivers nourishment while being seriously indulgent. The cabbage melts down into silky sweetness and mingles with warming Indian spices before simmering with coconut milk and chickpeas for a cozy, complete meal.
Prep Time: 15 minutes
Cook Time: 35 minutes
Total Time: 50 minutes
Course: Dinner, Lunch
Cuisine: Indian-Inspired
Diet Gluten Free, Vegan, Vegetarian
Serving size: 4

Ingredients

  • 2 tablespoons (28g) neutral oil of choice (such as avocado oil)
  • 4 fat cloves (21g) garlic, chopped
  • 1 to 3 serrano peppers, finely chopped (3 for spicy!)
  • 8 cups (400 to 480g) green cabbage, shredded or thinly sliced (see Note 1)
  • Kosher salt and black pepper (see Note 2)
  • 2 tablespoons (30g) tomato paste
  • 2 teaspoons Kashmiri chili powder (see Note 3)
  • 1 ½ teaspoons ground coriander
  • 1 ½ teaspoons ground cumin
  • ½ teaspoon ground turmeric
  • 8 ounces (227g) ripe Roma tomatoes, finely chopped (see Note 4)
  • 1 (13.5 oz / 400 mL) can full-fat coconut milk
  • 2 tablespoons (32g) almond butter or cashew butter (or tahini if nut-free)
  • 1 (15 oz / 425g) can chickpeas, drained and rinsed
  • 1 teaspoon garam masala
  • 1 lime, juiced
  • 1 cup (16g) fresh cilantro leaves and tender stems, chopped

Instructions

  • Heat the oil in a 12-inch sauté pan over medium-high for a few minutes, or until shimmering. Add the garlic and serrano pepper and stir very frequently for 30 to 60 seconds until fragrant (you don’t want the garlic to brown).
  • Add the cabbage and use tongs to coat it into the oil and aromatics, tossing well. Season with ½ teaspoon kosher salt. Cook for 10 minutes, stirring occasionally, or until tender and browned in spots.
    NOTE: If it starts to brown quickly, lower the heat to medium. If you start to see browned bits stock to the bottom of the pan, add a splash of water to deglaze.
    Multitasking option. While the cabbage cooks: (a) In a small bowl combine the tomato paste, coriander, cumin, chili powder, turmeric, 1 teaspoon kosher salt, and lots of black pepper; (b) finely chop the tomatoes and set aside.
  • While the cabbage cooks: (a) In a small bowl combine the tomato paste, red chili powder, coriander, cumin, turmeric, 1 teaspoon kosher salt, and lots of black pepper; (b) finely chop the tomatoes and set aside.
  • To the cabbage, add the tomato paste-spice mixture. Stir very frequently for 2 minutes, coating the tomato paste into the cabbage. If things start to dry out, deglaze the pan with a splash of water. Add the fresh tomatoes and cook for 4 to 5 minutes, or until the tomatoes have softened and almost melted into the cabbage.
  • Pour in the coconut milk, drained chickpeas, almond butter, and ½ teaspoon kosher salt. Adjust the heat to maintain a simmer and simmer (uncovered) for 15 to 20 minutes, stirring every few minutes to prevent sticking. The curry will thicken as it cooks, so if you want a looser texture, add ¼ to ½ cup water (60 to 120 mL).
    a. NOTE: I prefer simmering for 20 minutes, as it gives the ingredients enough time to mask the coconut flavor, but you can taste at 15 minutes and check.
  • Remove from the heat. Stir in the garam masala, several squeezes of lime juice, and the chopped cilantro. Season to taste with salt or more lime juice as desired. If possible, rest for 5 to 10 minutes to allow flavors to meld.
  • Serve with cooked rice or flatbread. NOTE: leftovers will thicken considerably in the fridge, so you may want to thin it out with some water on the stove.

Notes

  1. 1 small cabbage (1 ¼ to 1 ½ lbs / 570 to 680g) will typically yield this amount of cabbage once sliced/shredded.
  2. I use Diamond Crystal Kosher Salt. If you’re using sea salt or table salt, use less salt, about half the amount, then season to taste. 
  3. Kashmiri chili powder is a mild Indian chili powder with a bright red color and slightly sweet, smoky flavor. Substitute: 1 ¾ tsps sweet or hot paprika and ¼ tsp cayenne pepper (or 2 tsps paprika and omit the cayenne).
  4. This is about 2 medium Roma tomatoes. For a shortcut, you can use canned crushed tomatoes, but you’ll want to measure out about 8 oz / 230g.

Calories: 453.1kcal | Carbohydrates: 35.1g | Protein: 11.6g | Fat: 31.4g | Saturated Fat: 17.8g | Polyunsaturated Fat: 2.25g | Monounsaturated Fat: 7.99g | Sodium: 695.44mg | Potassium: 952.85mg | Fiber: 9.93g | Sugar: 8.12g | Vitamin A: 230IU | Vitamin C: 55.19mg | Calcium: 97.56mg | Iron: 3.62mg

Did you make this recipe?

Tag @rainbowplantlife and hashtag it #rainbowplantlife

Leave a Comment & Rating

If you enjoyed this recipe, please consider giving it a star rating along with your comment! It helps others discover my blog and recipes, and your comments always make my day :) Thank you for your support!

Your email address will not be published. Required fields are marked *

Rate this recipe




Development Alchemy + Aim