Skip to Content

Creamy Instant Pot Tofu Curry

This creamy instant pot tofu curry comes together with a minimum of effort to make a delicious high-protein Indian-style vegan curry in under half an hour.

Close-up of a black plate with rice and a yellow-orange creamy tofu curry.

Why you’ll love it

  • It’s like a tasty vegan version of paneer makhani
  • It’s easy to make – just chop an onion and tofu, add in some crushed garlic, grated ginger, spices, canned tomatoes, and coconut milk and leave to cook away.
  • It’s quick to make and serves up four portions in roughly 28 minutes or less.
  • I’ve kept it simple with tofu and onions but you can add two-three cups of extra veggies to make it even more nutritious.

Ingredients and substitutions

See which ingredients you’ll need to make this tasty curry in the image below, and scroll down beneath it to see any substitutions that can be made if you’re short on ingredients.

Labelled ingredients including crushed tomatoes, oil, onion, tofu and coconut milk.

Crushed tomatoes: You need to use canned crushed tomatoes for this recipe, not chopped, not fresh. If all you have to hand are canned chopped or whole ones, you can blitz them quickly in the blender and use them instead, although note that the consistency will be slightly thinner so you may need to cook down the curry more after pressure cooking (in Saute mode).

Oil: Any neutral vegetable oil will do, such as canola, sunflower, vegetable, or corn.

Onion: Use one large onion, any type will do (yellow, sweet, red, or white).

Garlic: Use four large fresh cloves. If you don’t have any fresh garlic you can use four teaspoons of frozen minced garlic, two teaspoons of jarred minced garlic, or one teaspoon of garlic powder.

Garam masala: An important ingredient, use a high-quality Indian brand if possible (I like Everest or MDH), or make your own.

Turmeric: This gives a great warming tone to any dish and beautiful color, don’t omit it.

Cayenne: This dish is only mildly spicy as the coconut milk neutralizes a lot of the heat from the cayenne but if you really can’t tolerate spicy food, leave it out. If you don’t have any ground cayenne you can substitute it with hot paprika, red chili flakes, or any other red chili pepper spice.

Ginger: Fresh ginger is a must in most Indian-style dishes and this one is no exception. Don’t omit it.

Sugar: A touch of sugar gives that restaurant-style taste to any curry. A lot of people omit it as they don’t like to consume sugar but it really does help balance out the sauce and is just a small amount, so please don’t omit it.

Ground coriander: Very necessary, one of the main flavors in this curry.

Salt: Use regular table salt or a low-sodium version.

Cumin: If you don’t have any ground cumin you can substitute with cumin seeds and add them to the hot oil at the start before adding the tofu and onion.

Tofu: I use firm tofu for this recipe. You can use extra-firm tofu if you prefer but I find it’s so closely packed that it doesn’t absorb as much flavor.

Coconut milk: Use full-fat coconut milk to give your curry that rich creamy texture.

Top-down view of a black plate with white rice and blocks of tofu in an orange sauce on a grey backdrop.

Optional ingredients

Optionally (but I highly recommend adding them), add two tablespoons of chopped fresh cilantro and one to two tablespoons of fresh lemon juice to give your curry a nice tang.


I’ve kept this tofu curry simple but feel free to add in extra veggies or legumes. You can add up to three cups of extra ingredients without having to change the rest of the recipe.

Some add-ins I’ve tested with this dish and highly recommend are:

  • Cooked chickpeas
  • Frozen chopped spinach
  • Cubed potato

How to make it

This is a pretty straightforward Instant Pot recipe, but I’ve included detailed instructions along with process photos below in case you have any doubts.

  1. Add the oil to your Instant Pot insert and press the Saute button and heat on high for 1-2 minutes until the oil is very hot. Squeeze excess water from the tofu (no need to press) and roughly chop into half-inch or one-inch cubes. Peel and finely chop the onion and add onion and tofu to the pan and toss to coat with oil. Saute for around six minutes, or until the onions have slightly softened, stirring regularly to prevent sticking.
  2. Crush the garlic and peel and finely grate the ginger and add to the pan along with the turmeric, cayenne, cumin, and coriander. Stir to coat.
  3. Saute another two minutes, stirring regularly.
  4. Add in the crushed canned tomatoes and coconut milk.
Collage of four photos showing onions and tofu in an instant pot, then with spices on top, then colored yellow, and then with coconut milk and crushed tomatoes added.
  1. Mix well. Make sure to scrape any browned bits from the bottom of the Instant Pot liner into the sauce or you will get a burn notice. Seal the Instant Pot and set to pressure cook on high for ten minutes.
  2. When the ten minutes are up, do a quick release. The sauce should be a deeper orange color. Add the garam masala, salt, sugar, and optional lemon juice and cilantro. Stir well and serve with steamed basmati rice (and naan bread if you really want to splurge). Enjoy!
Split collage with uncooked thin dark red sauce on the left and cooked on the right, a bright orange color.

Crispy chewy tofu?

One of my favorite ways to enjoy tofu is braising it as I do in this recipe, but if you’d like your tofu a bit crispier or chewier, you can pan-fry, bake or air-fry it before adding it.

Stovetop version

This recipe can also be made on the stovetop, just follow the recipe and instead of pressure cooking for ten minutes, bring to a boil on high heat, lower to a lively simmer, and leave to cook for twenty minutes.

Equipment notes

What you’ll need:

  • An Instant Pot
  • A sharp knife
  • A chopping board
  • A garlic press
  • A grater
  • A large spoon for stirring, mixing, and serving.

Expert tips

  • Braised tofu doesn’t need to be pressed, you’re only squeezing some of the excess liquid out (try wrapping it in a dry tea towel and pressing it between your hands to get rid of liquid) so the tofu doesn’t steam when it’s initially fried.
  • When using a garlic press there is no need to peel your garlic, just make sure to remove the leftover skin in between each pressing.

Frequently Asked Questions (FAQs)

How do I store leftover tofu curry?

In a tightly covered container in the fridge for up to five days or in a freezer-safe container for up to three months. Freezing may change the texture of the tofu but it still tastes good!

What should I do if I get a burn notice?

Sometimes when using recipes where you need to sauté first before pressure cooking, you can get a burn notice from browned spices or ingredients stuck to the bottom of the pot. The best way to avoid this happening is to thoroughly deglaze the pot before pressure cooking. If you did your best and still get a burn notice, do a quick release. Then if it’s just a little food stuck to the bottom use a spoon to scrape it off, put the lid back on, and continue with the recipe. If you still get an error or there is a lot of food stuck to the bottom, remove the inner liner and decant the contents to a large bowl. Now scrub the bottom of the pot in the sink until no food is stuck on, rinse, replace the contents, and continue cooking.

Other vegan curries…

Did you make this dish? Let me know how much you loved it with a star rating ⭐⭐⭐⭐⭐, review, and/or comment below.

Yield: 4 servings

Creamy Instant Pot Tofu Curry (Vegan!)

Front view of a plate with tofu in orange sauce and white rice on a dark grey background.

A delicious simple creamy vegan tofu curry made in the Instant Pot with a minimum of fuss.

Prep Time 10 minutes
Cook Time 18 minutes
Total Time 28 minutes


  • 2 Tablespoons oil (neutral flavor like sunflower, canola etc.)
  • 1 large onion
  • 17½ oz firm tofu (500g)
  • 1 inch ginger
  • 4 cloves garlic
  • 1 teaspoon turmeric
  • ½ teaspoon ground cayenne
  • ½ Tablespoon ground cumin
  • 1 Tablespoon ground coriander
  • 14oz can crushed tomatoes (400g)
  • 14oz can coconut milk (400g)
  • 1 teaspoon garam masala
  • 1 teaspoon sugar
  • 1 teaspoon salt
  • 2 Tablespoons cilantro to serve (optional)
  • 1-2 Tablespoons lemon juice to serve (optional)


  1. Add the oil to the Instant Pot and set it to Saute mode.
  2. Briefly squeeze excess liquid from the tofu, and chop into ½ - 1 inch cubes.
  3. Peel and finely chop the onion.
  4. Add the onion and tofu to the hot oil and set the Saute time to six minutes. Stir every minute or so to prevent sticking.
  5. Peel and grate the ginger. Crush the garlic. When the Sauté timer has gone off and the onion is softened, add the ginger, garlic, turmeric, cayenne, cumin, and ground coriander, mix well, and set to Saute for two more minutes, stirring frequently to prevent sticking.
  6. When the two minutes are up, add the crushed tomatoes and coconut milk. Stir well and deglaze the bottom of the bot to prevent a burn notice. Seal the Instant Pot and set to pressure cook on high for ten minutes.
  7. When the ten minutes are up, do a quick release. Add the garam masala, sugar, salt, and optional lemon juice and cilantro to the pot and stir well. Taste and adjust seasoning if necessary.
  8. Done! Serve with steamed rice (some naan bread as well would be amazing for sopping up the sauce).


I like braised tofu as is but if you prefer chewy or crispy tofu you can precook it in the oven, pan, or air-fryer before adding it to this recipe.

This curry will keep in a tightly covered container in the fridge for up to five days, or three months in the freezer.

Nutrition Information



Serving Size

1 small bowl

Amount Per Serving Calories 428Total Fat 36gSaturated Fat 20gTrans Fat 0gUnsaturated Fat 13gCholesterol 0mgSodium 737mgCarbohydrates 19gFiber 5gSugar 8gProtein 17g

Did you make this recipe?

Please leave a comment on the blog or share a photo on Pinterest

Skip to Recipe