I always describe tikka masala as the gateway drug of Indian food. It’s rich, creamy, generally not super spicy, and tastes like something you could put over pasta, so people are generally more accepting of it than if you put a bowl of dal in front of them and told them to dig in. If you’ve never had some of the spices commonly used in Indian food before, they can definitely be overwhelming the first time, but tikka masala does a good job of subduing them and making them palatable to all.
Traditional tikka masalas are made with a spiced tomato-based sauce and some kind of meat that has been marinated in a yogurt sauce overnight. And cream. SO MUCH CREAM. Because of this, it’s more of a special occasion food than an everyday one, which is such a bummer when it tastes so good that you crave it all the time!
Good news! This version of tikka masala is heavy on the veggies and light on the cream, with all the same rich flavors of its high-fat counterpart. It’s made with crispy baked tofu instead of paneer or meat and is full of zucchini, bell pepper and spinach—so you’re sure to get something nutritious in every bite. The heavy cream is cut in half and replaced with plain yogurt, so it still tastes thick, creamy, and indulgent. Be sure not to substitute Greek yogurt instead, though, because it will curdle in the tomato sauce while regular yogurt will not. You could still eat it, but it sure won’t look pretty!
PrintTikka Masala Tofu and Vegetables

Make a lighter version of an Indian-restaurant favorite with this creamy, tomato-y veggie-and-tofu tikka masala.
- Prep Time: 10 minutes
- Cook Time: 45 minutes
- Total Time: 55 minutes
- Yield: 6 servings
Ingredients
- 14 ounces extra firm tofu, patted dry and cut into 1/2-inch cubes
- 3 tablespoons olive oil
- 6 garlic cloves, minced
- 1 onion, diced
- ¼ cup tomato paste
- 6 cardamom pods, crushed
- ½ teaspoon red pepper flakes
- 2 zucchini, diced
- 1 red bell pepper, seeded and diced
- 2 teaspoons minced ginger
- 2 teaspoons ground turmeric
- 1 teaspoon garam masala
- 1 teaspoon ground coriander
- 1 teaspoon ground cumin
- 28 ounces can whole peeled tomatoes
- 5 ounces baby spinach
- Salt, to taste
- 1 cup heavy cream
- 1 cup plain yogurt (not Greek)
Instructions
- Heat oven to 425°F. Spread the tofu on a parchment-lined baking sheet in a single layer. Roast for 25 minutes or until crispy on the outside and slightly browned. Set aside.
- Meanwhile, in a large heavy pot over medium heat, heat the oil. Add the garlic, onion, tomato paste, cardamom pods and pepper flakes to the pot. Cook, stirring often, until the tomato paste has darkened and the onion has softened, about 5 minutes. Add the zucchini and bell pepper to the pot and saute until starting to soften, about 5-6 minutes. Add the spices to the pot and cook, stirring constantly, until the bottom of the pot begins to brown, about 4 minutes.
- Add the tomatoes with their juices, crushing the tomatoes with your hands as you add them. Bring to a boil and then reduce the heat to a simmer, stirring frequently and scraping up any brown bits. Cook until sauce thickens, about 8 minutes. Stir in the spinach and cook until wilted, about 2-3 minutes.
- Add in the cream, yogurt, and tofu. Season to taste with salt. Simmer, stirring occasionally, until slightly thickened, about 15-20 minutes. Serve with rice, barley or quinoa.
Notes
Make sure to use regular plain yogurt instead of Greek yogurt, as Greek yogurt will curdle when you add it to the tomatoes and regular plain yogurt will not.
26 Comments
Vanessa D.
July 13, 2015 at 9:04 pmI made this for dinner tonight and loved it. It even got a thumbs up from one of my boys who normally prefers meat. (My younger son had already fallen asleep before dinner was ready) It was my first time using cardamom and even just buying it, the package smelled so lovely. This dish has just become a staple in my meal rotation.
Joanne Bruno
July 14, 2015 at 12:00 pmYay! I’m so glad you and your family enjoyed it!!
Jennifer @ Delicious
July 13, 2015 at 9:41 pmI will definitely try this recipe, I love Indian food! I love how the spices turn vegetarian food into a delicious addicting and aromatic dishes. There is no bland or boring vegetarian food when it comes to Indian cooking, that’s for sure!
Joanne Bruno
July 14, 2015 at 12:01 pmSo true. I’ve never met an Indian vegetarian dish that I didn’t love!
Anna
July 14, 2015 at 7:03 amyumm sounds super tasty!!!
https://aspoonfulofnature.wordpress.com/
Joanne Bruno
July 14, 2015 at 12:01 pmThanks Anna!
Emily
July 14, 2015 at 9:51 amWould this be possible with a non dairy milk?
Joanne Bruno
July 14, 2015 at 12:03 pmI would use full fat coconut milk in place of the heavy cream if you want to go the non-dairy route, this way it will still be rich, but also dairy free!
Emily
July 14, 2015 at 1:03 pmThanks so much! Love your blog 🙂
Marcia
July 14, 2015 at 9:04 pmOh my…this looks and sounds YUMMY, thank you! My question is regarding the cup of heavy cream. Is this cows milk as is the yogurt? What would you suggest for someone who follows a plant-based diet? Would coconut cream/milk be an okay substitute or would it over power the dish? I’ve got some plain, unsweetened coconut yogurt I can swap out for the cow’s milk yogurt so I’m not really worried about that, just the heavy cream.
Thanks for you assistance. I don’t want to ruin the dish by adding the wrong ingredient. I can hardly wait to try it!
Joanne Bruno
July 15, 2015 at 8:35 amI did use cow’s milk heavy cream, but you can definitely substitute full fat coconut milk for it!
Marcia
July 15, 2015 at 12:25 pmPerfect! Thanks so much!!
Anastasia
July 27, 2015 at 2:35 pmThis looks amazing! It’s definitely going on the meal plan next week and I can’t wait :]
Joanne Bruno
August 10, 2015 at 8:21 pmThanks Anastasia! I hope you enjoyed it!
shannon
August 11, 2015 at 7:08 pmLooks tasty! Do you think you could use frozen spinach instead of fresh?
Joanne Bruno
August 14, 2015 at 6:51 amI only tried it with fresh spinach, but I don’t see why not!
Margot
August 26, 2016 at 5:23 pmDo the whole tomatoes break down or do you need a hand blender?
Kayla
November 23, 2016 at 9:26 amI used diced tomatoes from a can and it worked perfectly.
Kayla
November 23, 2016 at 9:25 amLoved it! So far this has been my favorite recipe for using tofu. The only changes i made were to use already diced tomatoes and I added some cauliflower.
Verda
April 19, 2017 at 8:10 pmI just made is tonight and it’s so tasty. I was looking for a big pot of something easy but delicious to make ahead to bring to work and this is it. Thank you!
phong kham thai ha
July 25, 2017 at 10:08 pmWoww look delicious. I will definitely eat it. Thank you for sharing!!!
Nevena
August 1, 2017 at 9:35 amOmg, that is amazing! I will try it tonight !
Nicole
September 26, 2017 at 12:15 amThis looks great! I think I will add cauliflower too.
Cathleen
December 24, 2017 at 8:47 pmLove it!! I made it tonight for my husband and I. Instead of yogurt I used TJ coconut milk. I also used TJs coconut cream. It was delicious!! Thanks for sharing.
Katie Trant
January 17, 2018 at 8:17 amYum! Thanks for sharing those modifications 🙂
Cathleen
December 24, 2017 at 8:50 pmI forgot to mention I used plain tempeh instead of tofu and roasted it on parchment paper on a baking pan in the oven on 400 for 25 min. It was tasty!!! Thank you so much.