Tofu aloo gobi is a simple one-pan curry of potatoes and cauliflower simmered with garam masala, turmeric, and ginger, with cubes of firm tofu folded in to make it a hearty main dish. It's a vegan take on a restaurant classic, and it's on the table in about 40 minutes.

Photo courtesy of In My Box: An Exploration of My CSA Box.
We've rarely gone out for Indian food without including this classic cauliflower and potato curry among our selections. It's a vegetarian and vegan standard! This simplified recipe comes together quickly, and the tofu mimics paneer, the mild, soft fresh cheese found in many Indian dishes. The tofu soaks up the spices, adds protein, and turns a side-dish favorite into a satisfying weeknight dinner. If you'd rather keep things classic and tofu-free, try our 30-Minute Aloo Gobi instead.
Key Ingredients & Substitutions
- Firm or extra-firm tofu. This is the star of this version. Firm or extra-firm tofu holds its shape as it simmers and has a soft, paneer-like bite. Blot it well with a clean towel before dicing so it absorbs the spices instead of watering them down. Don't use silken tofu, which will fall apart.
- Potatoes. Red-skinned or golden potatoes (like Yukon Gold) keep their shape better than starchy russets. Cut them into small, even dice so they cook through in the short simmering time.
- Cauliflower. A medium head, cut into small florets, is just right. A bag of pre-cut florets saves time, and frozen florets work in a pinch; add them a few minutes later, since they cook faster.
- Garam masala. This warm Indian spice blend (a good jar, such as Simply Organic Garam Masala, lasts for months) does most of the flavor work here. A good-quality curry powder is a fine substitute.
- Cumin, turmeric, and dry mustard. These round out the spice blend. Ground turmeric gives the dish its golden color. If you don't have dry mustard, leave it out or add ½ teaspoon of mustard seeds to the hot oil with the garlic.
- Fresh ginger and garlic. Grated fresh ginger has the brightest flavor, but jarred ginger works too.
- Tomatoes and peas. Fresh tomatoes add a little moisture and tang, and frozen peas add color and sweetness. A cup of canned diced tomatoes can stand in for fresh ones.
Helpful Tips
Press the tofu if you have time. Blotting is enough for this recipe, but pressing the block for 15 minutes under a heavy pan squeezes out more water. The cubes will be firmer, hold together better when you stir, and taste more strongly of the spices.
Brown the tofu for more texture. For golden edges, sauté the diced tofu in a tablespoon of oil until lightly browned before you start the curry, set it aside, and stir it back in with the tomatoes. It's an extra step, but it makes the tofu taste even more like fried paneer.
Cut everything to a similar size. Small potato dice and bite-size cauliflower florets cook at the same pace. Big chunks of potato will still be firm when the cauliflower is done.
Keep an eye on the liquid. The curry starts with a cup of water and finishes fairly dry, the way aloo gobi should be. If the pan dries out before the potatoes are tender, add a splash of water. If it's still soupy at the end, cook it uncovered for a few more minutes.
Season at the end. Taste once the vegetables are tender, then add salt and more garam masala if you like. Spice blends vary a lot from brand to brand, so start with the smaller amount and build from there.
Variations
- Chickpea aloo gobi. Swap the tofu for a cup or so of cooked chickpeas. For a curry that puts chickpeas front and center, try our 30-Minute Vegan Chana Masala.
- Make it spicy. Add a minced green chili with the garlic or a pinch of cayenne with the other spices.
- Creamy tofu aloo gobi. Stir in ½ cup of coconut milk in the last few minutes for a richer, saucier curry.
- Add greens. Stir a few handfuls of baby spinach into the pan at the very end and let them wilt.
- Sweet potato version. Use sweet potatoes in place of some or all of the white potatoes, and shorten their first simmer to 3 minutes, since they cook faster.
Serving Ideas
With tofu in the pan, this is a complete meal. Serve it over basmati or brown rice, or with warm vegan naan, roti, or chapati to scoop it up. A squeeze of lemon and a little extra cilantro on top brighten it just before serving.
For an Indian-style spread, pair it with a pot of Masala Lentils or Easy Vegan Dal Tadka, plus a simple cucumber salad or a dollop of dairy-free yogurt on the side.
Storing & Freezing
Let leftovers cool, then store them in an airtight container in the refrigerator for up to 4 days. The flavors deepen overnight, so this makes a good make-ahead lunch. Reheat on the stovetop over medium-low heat with a spoonful of water, or in the microwave, stirring halfway through.
You can freeze tofu aloo gobi for up to 2 months, but expect some texture changes: the potatoes soften, and frozen tofu becomes chewier and more sponge-like (some people like it that way). Thaw it overnight in the refrigerator, then reheat gently on the stovetop with a splash of water until warmed through.
More Vegan Indian Recipes
If you loved this curry, here are a few more you might enjoy, or browse all of our vegan Indian recipes:
- 30-Minute Aloo Gobi (Vegan)
- 30-Minute Vegan Chana Masala
- Masala Lentils (Sabut Masoor)
- 30-Minute Madras Lentils (Vegan)
- Bhindi Masala (Okra Masala)
Recipe

Tofu Aloo Gobi (Cauliflower and Potato Curry)
Ingredients
- 2 tablespoons olive oil
- 2 cloves garlic minced
- 2 teaspoons fresh ginger grated (jarred ginger works too)
- 2 medium-large potatoes red-skinned or golden, peeled and cut into ½-inch dice
- 1 cup water
- 1 medium head cauliflower cut into small florets
- 2 teaspoons garam masala or good-quality curry powder, or to taste
- ½ teaspoon ground cumin
- ½ teaspoon ground turmeric
- ½ teaspoon dry mustard
- 8 ounces firm tofu or extra-firm, blotted and cut into ½-inch dice
- 2 medium tomatoes or 3 Roma tomatoes, diced
- ½ cup frozen green peas
- ¼ cup fresh cilantro minced, optional
- salt to taste
Instructions
- Heat the oil in a wide skillet or stir-fry pan over medium-low heat. Add the garlic and ginger and sauté for 1 to 2 minutes, until the garlic is fragrant and just turning golden.
- Add the potatoes and the water. Cover, bring to a simmer, then cook over medium heat for 5 minutes.
- Add the cauliflower, then sprinkle in the garam masala, cumin, turmeric, and dry mustard. Stir well to coat the vegetables, cover, and simmer gently for 5 minutes, until the cauliflower starts to soften.
- Stir in the tofu, tomatoes, and peas. Cook uncovered over medium-low heat for about 10 minutes, stirring occasionally, until the potatoes and cauliflower are tender and most of the liquid has cooked off. If the pan gets dry before the vegetables are done, add a splash of water.
- Stir in the cilantro, if using, season with salt to taste, and serve.








Sheila says
Love your recipes. This one (the corrected version) says it has curry but don't see any?
Sheila says
Oops, sorry, saw the garam masala as a substitute. Thanks.
Claudia says
How many servings does this make? I can't wait to try it!
Nava says
Claudia, it serves 4 to 6, which I just added--sorry, the servings were left out. I had a couple of troublesome editing glitches with this one, yikes!
Jess says
This was great! Delicious and easy.
Misty says
Next time, I will simmer the cauliflower first instead of the potatoes. The potatoes ended up just a big mush and the cauliflower wasn't cooked through. Still hard. Otherwise, yum!
Nava says
Misty, it depends on the kind of potatoes and how small you cut the cauliflower. I amended the recipe to say "red-skinned or golden potatoes," because these cook fairly quickly but hold their shape. If you use russet potatoes, they will break down and become mushy. So I should have been more specific. Sorry this didn't come out right for you. Hope you try it again with these kinds of potatoes, and make sure the cauliflower florets are cut small!