I make this cabbage curry when I want something fast, flavorful, and packed with vegetables—aka, one-pot dinner that comes together without any drama. Lightly spiced, just saucy enough, and flexible whether you want it creamy with coconut milk or drier and more stir-fried. It’s a weeknight staple in my kitchen and one of those dishes that proves simple doesn’t mean boring.

An overhead image of cabbage curry over rice.
Save this recipe!
Enter your email below & we’ll send it straight to your inbox. Plus you’ll get great new recipes from us every week!

This post contains helpful tips and tricks! If you’re in a rush, please use the “Jump to Recipe” above!

This cabbage curry is all about humble ingredients, bold flavor!

I grew up eating cabbage curries that were humble but deeply satisfying—the kind of food that quietly anchors a meal without showing off. When I started cooking for myself, I loved how forgiving cabbage was: affordable, easy to find year-round, and ready to soak up any spice or sauce I threw at it. This version is inspired by those roots but tweaked for real life—quick, one-pot, and adaptable depending on what’s in the fridge.

What makes my version special is the balance of texture and flavor. The cabbage stays tender-crisp (never mushy), the spices are layered in stages for depth, and a splash of coconut milk at the end can turn it creamy and lush if you’re in the mood. It’s naturally vegan and gluten-free, packed with nutrients, and exactly the kind of recipe that makes eating more veggies feel effortless.

Ingredients and why they matter

Cabbage brings a hearty texture and soaks up all the warm, spiced flavors. Coconut milk adds rich creaminess and balances the heat with a hint of sweetness. Tomatoes provide acidity and depth, grounding the curry. Peas offer pops of color and natural sweetness. The spices are the soul of the dish, infusing every bite with warmth and complexity.

Full ingredient list and detailed instructions in the recipe card.

An overhead image of the ingredients of cabbage curry.
  • Cabbage: The star. Look for a firm head with tightly packed leaves—it holds up better during cooking.
  • Cumin seeds and mustard seeds: Add a nutty, aromatic base flavor when sautéed.
  • Onion, garlic, and ginger: The classic trio for building deep, savory flavor quickly.
  • Tomatoes: Bring a little acidity and body to the curry without making it heavy.
  • Turmeric, garam masala, red chili powder: A trio of spices that add warmth, heat, and complexity.
  • Peas: Bright pops of sweetness that balance the earthiness of the cabbage.
  • Use full-fat coconut milk if you’re adding it—it gives better flavor and mouthfeel.

TIPS & TRICKS

Shruthi’s top tips

  • Slice cabbage evenly so it cooks at the same rate and stays tender, not soggy. Quick hack? Buy pre-shredded cabbage meant for slaw, but make sure it’s not seasoned.
  • Add salt with the cabbage to help it release moisture and season the vegetable from within.
  • Bloom your cumin and mustard seeds in hot oil—it brings out their full flavor.
  • Cook uncovered if you want a drier curry; cover loosely for a softer, saucier version.
  • Adjust spices at the end—flavors concentrate as the water evaporates.
  • Stir gently once the cabbage softens to avoid breaking it down too much.
  • Balance spice and richness—if it’s too spicy, a squeeze of lime or extra coconut milk can mellow it.

How to make creamy cabbage curry

  1. Heat avocado oil in a large pan or wok over medium heat. Once hot, add cumin seeds and mustard seeds. Sauté until they start to splatter and become fragrant.
  2. Add the diced onion and cook, stirring occasionally. Stir in minced garlic and ginger paste, taking care not to burn the garlic.
  3. Stir in tomatoes, peas, turmeric, garam masala, and chili powder. Cook for 1–2 minutes until tomatoes begin to break down.
  4. Stir in chopped cabbage and salt, tossing to coat evenly with the spices. Cook for 5–7 minutes, stirring occasionally. The cabbage should be tender but not mushy—it should still have a slight bite.
  5. If you prefer a creamy cabbage curry, stir in 1 cup of coconut milk at this stage. Cook for 1–2 more minutes until combined. Remove from heat, garnish with chopped cilantro, and serve hot with rice or flatbread.
An overhead image of toasting cumin and mustard seeds on a skillet.
An overhead image of sauteing the garlic and ginger in a skillet.
An overhead image of adding tomatoes and peas to the skillet.
An overhead image of adding the spices.
An overhead image of sauteing the cabbages.
An overhead image of adding coconut milk.

How to serve vegan cabbage curry

This cabbage curry makes the perfect weeknight dinner—hearty, wholesome, and full of flavor. Serve it with steamed white rice or warm naan for a comforting meal. For a more complete spread, pair it with a side of dal tadka, smashed potatoes, or flaky samosas.

An overhead image of cabbage curry in a skillet.

Storage and reheating suggestions

Store cabbage curry in an airtight container in the fridge for up to 4 days. You can also freeze it for up to a month. To reheat, gently warm on the stove or in the microwave. Add a splash of water if it looks dry.

More curry recipes

If you liked this cabbage curry, make sure to check out my other Indian curry recipes!

VVegan RecipesGFGluten Free RecipesVEVegetarian Recipes

Spinach Dal

VVegan RecipesGFGluten Free RecipesNFNut Free RecipesVEVegetarian Recipes

Baingan Bharta

If you tried this recipe, don’t forget to comment and rate! ⭐⭐⭐⭐⭐

5 from 33 votes

Cabbage Curry

This easy cabbage curry is vegan, gluten-free, and packed with warm spices—ready in 25 minutes for a fast, nourishing weeknight meal.
Prep Time: 10 minutes
Cook Time: 15 minutes
Total Time: 25 minutes
Servings: 6 servings
Save this recipe!
Enter your email below & we’ll send it straight to your inbox. Plus you’ll get great new recipes from us every week!

Ingredients 

  • 1 tablespoon avocado oil
  • teaspoon cumin seeds
  • ½ teaspoon mustard seeds, optional
  • 1 onion, medium sized, diced
  • teaspoon minced garlic
  • 1 teaspoon ginger paste
  • 2 tomatoes, medium-sized, diced
  • ½ cup frozen peas
  • ½ teaspoon ground turmeric
  • ¾ teaspoon garam masala
  • ½ teaspoon red chili powder
  • 1 lb cabbage, 1 medium-sized head
  • 1 teaspoon salt, adjust to taste
  • 1 cup coconut milk, optional, for creamy version
  • 2 tablespoons cilantro, chopped, for garnish

Instructions 

  • Remove outer leaves, rinse well, and pat dry. Chop into bite-sized pieces. For added cleanliness, soak in warm (not boiling) water for 1–2 minutes and drain thoroughly.
  • Heat oil in a large skillet or wok over medium heat. Add cumin seeds and mustard seeds (if using). Cook until they begin to sizzle and pop, about 30 seconds.
  • Stir in onion and cook until softened, about 3 minutes. Add garlic and ginger, and sauté until fragrant, 30–60 seconds, stirring frequently to prevent burning.
  • Stir in tomatoes, peas, turmeric, garam masala, and chili powder. Cook for 1–2 minutes until tomatoes begin to break down.
  • Add cabbage and salt. Toss to coat with the spices. Cover and cook, stirring occasionally, for 5–7 minutes until the cabbage is tender but still slightly crisp.
  • For a drier curry, increase heat slightly to allow excess liquid to evaporate. For a creamy version, stir in coconut milk and simmer for 1–2 minutes until warmed through and combined.
  • Remove from heat and sprinkle with cilantro. Serve warm with rice or flatbread.

Notes

  • Use pre-shredded cabbage or coleslaw mix (unseasoned).
  • Sauté onions in water or vegetable broth instead of oil.
  • Add a splash of hot sauce for heat, or a drizzle of maple syrup for a hint of sweetness.
  • Cabbage releases water as it cooks. For a firmer texture, uncover and increase heat toward the end.

Nutrition

Calories: 145kcal | Carbohydrates: 11g | Protein: 3g | Fat: 11g | Saturated Fat: 7g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 2g | Sodium: 413mg | Potassium: 384mg | Fiber: 4g | Sugar: 5g | Vitamin A: 570IU | Vitamin C: 40mg | Calcium: 55mg | Iron: 2mg

Nutrition information is automatically calculated, so should only be used as an approximation.

Like this? Leave a comment below!

I'm the recipe developer, photographer and brain behind Urban Farmie. I’m a lifelong vegetarian. I’ve lived, worked, and traveled to 60+ countries and bring you authentic, vegetarian recipes from all those travels!

5 from 33 votes (32 ratings without comment)

Leave a comment

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

Recipe Rating




This site uses Akismet to reduce spam. Learn how your comment data is processed.

1 Comment

  1. Marie says:

    5 stars
    It never occurred to me to make cabbage the star of a curry dish but this was such a delicious veg meal and a great way to use up an entire head of cabbage which is always a task!