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.