Creamy Tofu Tikka Masala

If you could only eat one style of food for the rest of your life, what would you pick? My choice would be Indian food. Hands down. No more questions asked.

It holds a very special place in my heart. I love that it utilizes such simple ingredients to create such bold, exciting, and flavorful dishes! Many Indian-inspired dishes begin with a simple masala sauce, or tomato-onion gravy, and the spices are what makes each dish unique and take it in its own distinct direction.


I asked one of my good friends(who actually helped me put this blog together!), what one of his all-time favorite meals was, and he told me it was anything with paneer. I was: A.) surprised his response was an Indian food dish, B.) bummed that paneer is a dairy product and therefore not something I include in my diet and, C.) excited to create something that was similar, but vegan friendly. I knew that I could easily swap paneer for some tofu, and a full recipe idea came to fruition shortly after that. Tofu does not exactly mimic the taste of paneer(which, in my experience has a flavor profile similar to that of mozzarella), but the texture is pretty similar. 

Thinking about this recipe also brought back memories of a cooking lesson I was given during my stay in India. Rahul, the owner of the yoga shala I was living at, loved to cook. In fact, one day in the rural foothills of the Himalayas, he managed to conjure up an entire vegan cashew/mushroom curry, rice, and chai masala for a group of 20+ people while using only two pots and a single campfire. This man was a magician, and I owe a lot of my Indian cooking knowledge to him. Dhanyavaad, Rahul, dhanyavaad.

During this cooking lesson, Rahul showed us how to make whole wheat chapati bread, mint chutney, chai masala, and a simple masala gravy that could be used for various curries. One of the curry dishes we made included chunks of tofu in a creamy masala sauce, as well as it being topped with shredded tofu(it kind of looks like shredded cheese in the picture, but it’s all vegan, I swear!) I remember it being one of the best meals I have ever had, and although I do not have his exact recipe, the following recipe is my best attempt to recreate it.

Chapati Bread, Mint Chutney, Veggie Curry & Creamy Tofu Curry from a cooking lesson in Rishikesh, India.


Rahul listed off some of the most common spices that are used in Indian cooking such as cumin, coriander, turmeric, and asafoetida. And when he mentioned the latter I said “Wait, what the heck is that?!?! I have never once heard of that in my entire life and you’re telling me it is one of the most common spices in Indian cooking?”. At that moment, I genuinely felt like the spice aisles in standard American grocery stores had been cheating me my entire life. He said they use it very frequently, but they only use a small pinch because it is so pungent.

This spice is made from the roots of ferula, a flouring plant native to the middle east and Mediterranean areas. It is often referred to as Hing or Devil’s Dung, and its pungent smell is due to its high concentration of sulfur compounds, but when it is cooked, has a similar flavor to that of celery, garlic, or onions. When cooking with it, you only need a small pinch, as a little goes a long way. It is a truly powerful ingredient that ties everything together and makes an Indian food dish taste like, well, a real authentic Indian food dish.

You can find this spice at any Indian Spice market, as they often sell it in a wide range of sizes. Make sure to store it in an airtight container, or else you will stink up your entire spice cabinet. In my house, we store it in its original air-tight container within an air-tight jar and keep it in the back of the spice cabinet.

Various spices and ingredients that are commonly used in Indian cooking.

How to make Creamy Tofu Tikka Masala

This recipe is:

& Cream

It includes simple ingredients such as onions, tomatoes, garlic, ginger, cilantro, coconut milk, tofu, and a combination of various dried and whole spices

Prep the ingredients

The first step to making this curry is to finely puree the onions in a food processor. Additionally, it’s recommended to create a paste of garlic, ginger, and cilantro. Doing so helps to create a base that is smooth and consistent in texture, but if you don’t have a food processor, fear not! An alternative method would be to finely mince all the ingredients or use a mortar and pestle. I find that using a food processor is quick and efficient, however, if you prefer a chunkier base, just skip this step and finely chop these ingredients. It’s totally up to you!

Make the masala sauce

The general method for making a basic masala sauce, which serves as a base for many Indian dishes, begins with cooking the whole spices(in this case, we are just using cumin seeds), followed by the onion, then garlic, ginger, and cilantro, and then the combination of dry spices. Once these have cooked, and the spices have melded and become fragrant, in goes the chopped roma tomatoes, as they are the source of moisture and liquid for the sauce. And baba-bing! There you have it. A basic masala sauce is complete.

It is important to fry the cumin seeds first, as this helps to release and unlock a more robust flavor from the spice, adding to the complexity of the dish. You could also add a couple of cardamom pods at this moment if you happen to have them on hand, yet this spice is totally optional. 

Complete the sauce and add the tofu

We’re not done yet. In addition to the roma tomatoes, add the tomato paste(for a more concentrated tomato flavor), veggie broth, coconut milk, and tofu. Adding the tofu at this time allows it to absorb the abundance of delicious flavors while the dish simmers and the veggie broth reduces.  

I prefer to use firm tofu and throw it in raw, as it *kinda* mimics the texture of paneer, but you could absolutely throw in tofu that is air-fried or baked, as well! My favorite brand of firm tofu is from Trader Joe’s since it generally has a lower water concentration and does not necessarily require any pressing prior to adding it to a dish. 


Once the curry has cooled slightly, top it with some freshly chopped cilantro, and serve with rice and/or fresh samosas. This dish is so comforting and filling; absolutely perfect for a night when all you’re craving is creamy comfort food with a kick.

Were you feeling saucy and made this curry?
Let me know how it turned out!

& If you liked this recipe, you might also enjoy my recipe for Indian-Inspired Chickpeas with Cauliflower Mash.

💛 M

Creamy Tofu Tikka Masala

A vegan-friendly twist on paneera tikka masala in a creamy & flavorful sauce.
Prep Time 10 minutes
Cook Time 35 minutes
Total Time 45 minutes
Course Main Course
Cuisine Indian
Servings 4


  • 1 package firm tofu
  • 2 tbsp oil
  • 1 tsp cumin seeds
  • 1 large onion, pureed
  • 5 cloves garlic
  • 2 inches ginger
  • handful fresh cilantro
  • 2 tbsp tomato paste
  • 1 ½ tsp garam masala
  • 1 tsp turmeric
  • 1 tsp coriander
  • 1 cup veggie broth
  • ¼ tsp cayenne
  • tsp asafoetida (optional)
  • tsp cardamom (optional)
  • 2 roma tomatoes, diced
  • 1 13.5 oz can of coconut milk
  • salt to taste


  • Begin by prepping all your ingredients. Puree your onions in a food processor, or alternatively, finely mince them. Place them in a bowl and set aside.
  • Add the garlic, ginger and cilantro to a food procesor and blend the three ingredients into a fine paste. Alternatively, you could finely mince all three, or use a mortar and pestle. Place them in a bowl and set aside.
  • Heat oil in a large pan over medium heat.
  • When the oil is hot, add the cumin seeds and cook for about 2 minutes, until they are sizzling and fragrant.
  • Add the onion puree to the pan and cook for 8 minutes, stirring frequently to prevent burning.
  • Add the garlic, ginger, and cilantro puree to the pan and stir to combine. Continue cooking for 3 more minutes.
  • Add the dry seasoning and stir well to combine. Cook for 2 more minutes.
  • Add the tomato paste, diced roma tomatoes, veggie broth, coconut milk and tofu and stir to combine.
  • Increase the heat to bring the mixture to a soft boil, and then reduce heat to low. Cover the mix and allow it to simmer for 20 minutes.
  • Enjoy!
Keyword Creamy, Indian, Plant Based, Tofu, Vegan

Recommended Recipes