An easy spicy spinach tofu stir-fry that cooks in one pan in about 15 minutes. This Indian-inspired tofu and spinach curry is perfect for busy weeknights and makes flavorful leftovers. Gluten-free and can be made soy-free with simple swaps.

One pan and 15 minutes is all it takes to make this spicy tofu and spinach stir-fry. Think of it as a quick, spicy take on palak paneer: tofu simmered in a rich spinach-yogurt sauce flavored with Indian spices and heat from cayenne or red chili powder. It’s comforting on a cold night and even better the next day.

I like to serve this with flatbread, roti, or naan, but steamed rice is a great option too. For a low-carb meal, serve it over cauliflower rice.

Press the tofu
Drain a block of firm or extra-firm tofu and slice it into slabs. Layer the slices on paper towels on a sheet pan, cover with more towels, then another pan. Place heavy objects on top (books or cans) or use a tofu press. Press for at least 15 minutes; you can refrigerate while pressing if needed.

More Indian Dishes from the Blog
- Baked Madras Curry Tofu
- Baked Balti Veggies
- Veggie Curry Casserole
- Indian Butter Tofu
- Bombay Potato and Peas
- Tofu Pasanda
- Vegetable Jalfrezi
- Gobi Broccoli Makhani
- Tempeh Tikka Masala
Spicy Tofu Spinach Stir fry (15 Minute 1 Pan)

Ingredients
- 2 teaspoons oil
- 7 ounces firm or extra-firm tofu, pressed for 15 minutes then cubed (see notes for soy-free options)
- 1/8 teaspoon salt (for tofu)
- 1/4 teaspoon black pepper or cayenne/Indian red chili powder (or both)
- 1/2 to 1 teaspoon Kashmiri garam masala (or regular garam masala, curry powder, or berbere)
- 1/2 teaspoon ground coriander
- 1/2 teaspoon ground cumin
- Good pinch of cinnamon, clove, and cardamom (optional)
- 8–10 ounces frozen spinach, thawed, or an equivalent amount of chopped fresh spinach
- 1/2 teaspoon salt (for the spinach)
- 1/2 teaspoon garlic powder
- 1 teaspoon onion flakes
- 2 tablespoons ketchup or tomato paste
- 3–4 tablespoons vegan yogurt or non-dairy cream (cashew cream or vegan cream cheese works)
- 1/2 cup water (or 1/2–1 cup non-dairy milk for a creamier sauce)
- Pepper flakes, lime juice, and extra garam masala for garnish
Instructions
- Heat a medium to large skillet over medium-high heat. Add the oil and let it heat through.
- Add the pressed and cubed tofu and cook until the edges start to turn golden.
- Add salt, pepper, garam masala, ground coriander, ground cumin, and any optional spices. Toss to coat the tofu and cook another minute to bloom the spices.
- Add the spinach, the additional salt, garlic powder, onion flakes, cayenne (if using), and ketchup or tomato paste. Stir and cook until the spinach is no longer frozen and the raw smell is gone, about 3–4 minutes.
- Stir in the vegan yogurt and about 1/2 cup water (or non-dairy milk for creamier texture). Cook for another 5 minutes, then reduce heat to medium-low and simmer 3–4 minutes to let the flavors meld. Taste and adjust salt and seasoning, then remove from heat.
- Garnish with pepper flakes and a pinch of garam masala. Optionally drizzle with thinned vegan yogurt or coconut cream. Serve with flatbread, roti, naan, or rice; for a low-carb option, use cauliflower rice.
Notes
- Soy-free: Substitute pre-cooked potatoes or roasted cauliflower in the gravy, or add cooked chickpeas. You can also use chickpea flour “tofu” if preferred.
- Add 1 tablespoon nutritional yeast with the spices for extra umami.
- Oil-free: Toss tofu with half the spices and bake until golden, then add to the skillet with the remaining spices and follow the rest of the steps.
Nutrition
Nutrition information is an approximation and provided for guidance only.
Ingredients:
- Firm or extra-firm tofu, pressed 15 minutes and cubed for best texture.
- Kashmiri garam masala or regular garam masala; curry powder works too.
- Ground coriander, ground cumin, and a pinch of cinnamon, clove, and cardamom for depth.
- Frozen thawed spinach saves time; fresh chopped spinach can be used instead.
- Garlic powder and onion flakes add savory flavor.
- Cayenne or Indian red chili powder for heat — adjust to taste.
- Ketchup or tomato paste adds color and umami to the sauce.
- Vegan yogurt or cashew cream for a creamy finish.
Tips & Substitutions:
- Boost umami with 1 tablespoon nutritional yeast added with the spices.
- For soy-free versions, use cooked potatoes, roasted cauliflower, or cooked chickpeas in place of tofu. Chickpea flour tofu is another option.

How to make Spicy Tofu Spinach Stir fry:

Heat a medium to large skillet over medium-high. Add oil and let it get hot. Add pressed, cubed tofu and cook until edges are golden.

Add salt, pepper, garam masala, ground coriander, and ground cumin. Toss to coat and cook about a minute to toast the spices.

Add spinach, the remaining salt, garlic powder, onion flakes, cayenne, and ketchup or tomato paste. Stir and cook until the spinach is thawed and no longer raw-smelling, about 3–4 minutes.

Stir in vegan yogurt and about 1/2 cup water (or non-dairy milk for a richer sauce). Cook 5 minutes, reduce heat to medium-low and simmer 3–4 minutes to meld flavors. Adjust salt and seasoning, then remove from heat.

Garnish with pepper flakes and a sprinkle of garam masala. Drizzle with thinned yogurt or coconut cream if desired. Serve with flatbread or rice.

Make your own Kashmiri garam masala:
Combine 1 teaspoon ground coriander, 1/4 teaspoon each ground cumin, powdered fennel, cinnamon, and cardamom, and 1/8 teaspoon clove powder. Blend well and use as directed. Alternatively, use a pre-made garam masala blend.
