Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 tbsp neutral oil or ghee
- 1 tsp cumin seeds (plus 1/2 tsp mustard seeds, optional)
- 1 medium onion, diced
- 3 garlic cloves, minced; 1 tbsp grated ginger
- 1–2 green chilies, sliced (optional)
- 1 tsp ground turmeric; 1 tsp ground coriander; 1 tsp garam masala
- 1 can (14.5 oz/410 g) diced tomatoes
- 1 lb (450 g) Yukon Gold potatoes, 3/4-inch cubes
- 1/2 medium green cabbage, thinly shredded (about 6 cups/450 g)
- 1 cup (240 ml) vegetable broth or water
- 3/4 cup (180 ml) full-fat coconut milk or 1/4 cup (60 ml) heavy cream
- 1 1/4 tsp kosher salt, black pepper, 1 tsp sugar (optional)
- Lemon juice and chopped cilantro, for finishing
- Cooked basmati rice, for serving
Do This
- 1. Start rice. Rinse and cook 1 cup basmati rice while you make the curry.
- 2. Bloom spices. Heat oil over medium heat; add cumin (and mustard) seeds until fragrant, 30–45 seconds.
- 3. Sauté aromatics. Add onion, chili, garlic, ginger; cook 6–8 minutes until golden.
- 4. Add tomatoes and spices. Stir in turmeric, coriander, garam masala; cook 3–4 minutes.
- 5. Simmer potatoes. Add potatoes, broth, salt; bring to a boil, then simmer 12–15 minutes until almost tender.
- 6. Add cabbage and coconut milk. Cook 6–8 minutes until cabbage is tender and sauce is creamy; adjust seasoning with pepper, sugar, and lemon.
- 7. Serve over rice with cilantro.
Why You’ll Love This Recipe
- Comforting and cozy: tender potatoes and silky cabbage in a creamy, gently spiced sauce.
- Weeknight-friendly: one pot, under an hour, pantry spices.
- Flexible finish: rich with coconut milk or a splash of cream—your choice.
- Naturally vegetarian and gluten-free; easy to make vegan.
Grocery List
- Produce: Green cabbage, Yukon Gold potatoes, yellow onion, garlic, fresh ginger, cilantro, lemon, green chilies (optional).
- Dairy: Heavy cream (optional if not using coconut milk).
- Pantry: Neutral oil or ghee, cumin seeds, mustard seeds (optional), ground turmeric, ground coriander, garam masala, canned diced tomatoes, full-fat coconut milk, vegetable broth or bouillon, sugar, kosher salt, black pepper, basmati rice.
Full Ingredients
For the Curry
- 2 tablespoons neutral oil or ghee
- 1 teaspoon cumin seeds
- 1/2 teaspoon black mustard seeds (optional)
- 1 medium yellow onion (about 1 cup/150 g), finely diced
- 3 garlic cloves, minced
- 1 tablespoon fresh ginger, finely grated
- 1–2 green chilies (jalapeño or serrano), thinly sliced (optional, to taste)
- 1 teaspoon ground turmeric
- 1 teaspoon ground coriander
- 1 teaspoon garam masala
- 1 can (14.5 oz/410 g) diced tomatoes
- 1 pound (450 g) Yukon Gold potatoes, peeled and cut into 3/4-inch (2 cm) cubes
- 1/2 medium green cabbage, core removed, thinly shredded (about 6 packed cups/450 g)
- 1 cup (240 ml) vegetable broth or water
- 3/4 cup (180 ml) full-fat coconut milk or 1/4 cup (60 ml) heavy cream
- 1 1/4 teaspoons kosher salt, plus more to taste
- 1/2 teaspoon freshly ground black pepper
- 1 teaspoon sugar (optional, to balance acidity)
- 1 tablespoon fresh lemon juice (or apple cider vinegar), to finish
- 1/4 cup chopped fresh cilantro, for garnish
For Serving
- 3–4 cups cooked basmati rice (about 1 cup/190 g uncooked)

Step-by-Step Instructions
Step 1: Prep and start the rice
Rinse 1 cup uncooked basmati rice under cold water until it runs mostly clear, then cook according to package directions (typically 1 cup rice to 1 1/2 cups water, simmered covered on low heat for 12–15 minutes, then rest 5 minutes). Fluff with a fork. While the rice cooks, prep the vegetables: dice the onion, mince the garlic, grate the ginger, slice the chili (if using), peel and cube the potatoes, and thinly shred the cabbage.
Step 2: Bloom whole spices
Heat a large, wide pot or Dutch oven (4–6 quart) over medium heat. Add 2 tablespoons oil or ghee. When shimmering, sprinkle in the cumin seeds (and mustard seeds, if using). Stir until fragrant and popping, 30–45 seconds. This quick bloom unlocks deeper flavor for the entire curry.
Step 3: Sauté aromatics until golden
Add the onion and a pinch of salt. Cook over medium heat, stirring occasionally, until soft and lightly golden, 6–8 minutes. Stir in the chili, garlic, and ginger; cook 1 minute until aromatic. Add turmeric, coriander, and garam masala; stir constantly for 30 seconds to toast the spices.
Step 4: Build the saucy base with tomatoes
Add the diced tomatoes and their juices. Cook, stirring, until the tomatoes darken slightly and the mixture thickens and glistens at the edges, 3–4 minutes. This quick reduction concentrates flavor and helps the sauce cling to the vegetables.
Step 5: Simmer potatoes until almost tender
Stir in the potatoes, 1 cup broth or water, 1 1/4 teaspoons kosher salt, and black pepper. Bring to a gentle boil over medium-high heat, then reduce to a lively simmer on medium-low. Cover partially and cook, stirring once or twice, until the potatoes are just tender when pierced, 12–15 minutes.
Step 6: Add cabbage and finish with coconut milk (or cream)
Add the shredded cabbage and stir to wilt. Pour in the coconut milk (or heavy cream). Simmer uncovered on medium heat, stirring occasionally, until the cabbage is tender and the sauce is creamy and slightly thickened, 6–8 minutes. Taste and adjust: add the sugar if the tomatoes taste sharp, and finish with lemon juice to brighten. Check salt and pepper.
Step 7: Rest and serve
Turn off the heat and let the curry rest 2 minutes so the sauce settles. Fluff the rice. Spoon rice into bowls, ladle the cabbage–potato curry over top, and scatter with chopped cilantro. Serve hot.
Pro Tips
- Slice the cabbage thinly (about 1/8 inch) for silky texture and quick cooking.
- Use waxy potatoes like Yukon Gold so they stay tender without falling apart.
- Bloom whole spices in hot oil first—30–45 seconds makes a big flavor difference.
- Salt in layers: a pinch with onions, then again with the potatoes, then final adjustments.
- Do not boil coconut milk vigorously; a gentle simmer keeps the sauce lush and prevents splitting.
Variations
- Chickpea boost: Stir in 1 can (15 oz/425 g) drained chickpeas with the cabbage for extra protein.
- Extra veg: Add 2 cups small cauliflower florets with the potatoes; simmer together until just tender.
- Spicier: Add 1/2 teaspoon Kashmiri chili powder with the ground spices for color and a warm kick.
Storage & Make-Ahead
Refrigerate cooled curry in an airtight container for up to 4 days. The flavors deepen overnight. Reheat gently on the stovetop over medium-low heat, adding a splash of water if the sauce thickens. Freeze for up to 2 months (coconut milk version freezes best). Cook rice fresh, or freeze portions of cooked rice for up to 1 month and reheat covered with a sprinkle of water.
Nutrition (per serving)
Approximate with coconut milk and 3/4 cup cooked rice: 460 calories; 17 g fat; 66 g carbohydrates; 8 g fiber; 9 g protein; 720 mg sodium. Values will vary with ingredient brands and whether cream is used.

