Skip to Content

One-Pan Tofu Coconut Curry

One-Pan Tofu Coconut Curry

Today’s recipe is tasty, colourful, and hearty! It’s an easy-to-make Tofu Coconut Curry all made in one-pan and ready in 30 minutes.

The creamy, golden coconut milk and tomato-based sauce is deliciously spiced with curry powder, turmeric, cumin (and of course salt and pepper) along with fresh pungent garlic and ginger.

It’s mild and not very spicy (unless your curry powder blend is spicy), which is great to serve the whole family!

The tofu sucks up the curry flavours as well as adding protein and texture to the dish. I like to use extra-firm tofu so it holds its shape when mixed into the curry.

The addition of tasty sweet bell peppers, onions, green spinach, and fresh cilantro gives this curry additional bulk and nutrition too.

Serve this curry along with rice to make it one filling meal. I like to use a brown basmati rice.

I hope you enjoy this recipe!

How do you make this tasty and easy tofu recipe?

(Full ingredient amounts and instructions available in the recipe card down below)

In a large sauté pan or skillet (I used a 12-inch skillet) at medium-high heat, add vegetable oil, then sauté the onions and peppers with salt and pepper, until the onions start to brown.

Stir in the garlic, ginger, curry powder, turmeric, and cumin until fragrant, around one or two minutes.

Reduce to low heat. Stir in the coconut milk, crushed tomatoes, and tomato paste until uniform. Add the tofu and toss to coat with the sauce.

Bring the curry to a boil before reducing to a simmer. Cook uncovered for 5 minutes. Then stir in the spinach, lime zest, and lime juice, until the spinach wilts.

Taste for additional salt and pepper and top with fresh cilantro. Scoop over bowls of rice and enjoy!

Love one pan/pot/sheet pan meals? Take a look at these four recipes!

Creamy tofu coconut curry with brown rice in a white bowl.

To sum up, this One-Pan Tofu Coconut Curry is:

  • Delicious and flavourful: The curry sauce is creamy and wonderfully spiced. It goes perfectly with the tender tofu bites and the colourful vegetables in this recipe.
  • Hearty and filling: It makes a generous amount of curry that’s will fill you up and warm you from within.
  • Quick and easy to make: It takes only 30 minutes to make and has a few simple instructions to follow.
  • Vegan and gluten-free too: Tofu is naturally gluten-free, but make sure it’s labelled as such when choosing the brand if this is important to you.
Delicious tofu coconut curry with fresh cilantro on top of brown rice in a white bowl.

Did you make this easy tofu coconut curry recipe? Leave me a rating and comment down below or tag me on any of my social media. I’m @yay_for_food on Instagram. Please share your recipe pictures!

Overhead view of creamy and colourful tofu coconut curry in a large white skillet.

One Pan Tofu Coconut Curry

Yield: 6
Prep Time: 10 minutes
Cook Time: 20 minutes
Total Time: 30 minutes

Wonderfully spiced with a mild curry flavour, this tofu coconut curry is a quick, easy, and delicious vegan meal made in one pan.


  • 1 tbsp vegetable oil
  • 1 yellow (or white) onion, chopped
  • 1 bell pepper, chopped
  • 3 garlic cloves, minced
  • 1-inch fresh ginger, minced
  • 1 tbsp curry powder
  • ½ tsp turmeric powder
  • ½ tsp cumin powder
  • 400 ml (14 fl. oz.) canned coconut milk
  • ½ cup crushed tomatoes
  • 2 tbsp tomato paste
  • 454 g extra firm plain tofu, chopped into 1-inch cubes
  • 2 cups baby spinach
  • 1 lime, zest and juice
  • ½ cup fresh cilantro, chopped
  • Salt and pepper, to taste
  • Serve with cooked rice.


  1. In a large sauté pan or skillet (I use a 12-inch skillet) at medium-high heat, add the vegetable oil, onion, bell pepper, salt, and pepper. Sauté until the onions begin to brown, about 4-5 minutes.
  2. Add in the garlic, ginger, curry powder, turmeric, and cumin and stir for another minute or two, until fragrant.
  3. Reduce the heat to low and stir in the coconut milk, crushed tomatoes, and tomato paste until well-incorporated. Add the tofu and gently stir to coat with the sauce.
  4. Bring the curry to a boil before reducing the heat to a simmer. Cook uncovered for 5 minutes.
  5. Stir in the spinach, lime zest, and lime juice, until the spinach wilts. Taste for additional salt and pepper. Top with fresh cilantro and serve over rice. Enjoy!


Nutritional information is based on one serving for a total of six servings excluding rice.

Nutrition Information:
Yield: 6 Serving Size: 1
Amount Per Serving: Calories: 258Total Fat: 20gSaturated Fat: 13gTrans Fat: 0gUnsaturated Fat: 6gCholesterol: 0mgSodium: 136mgCarbohydrates: 14gFiber: 3gSugar: 8gProtein: 10g

Nutritional values are estimated based on the ingredients used by the author; your ingredients may differ. These values are calculated using Nutritionix.

Sharing is caring!

Creamy vegan cashew chocolate dip in a white bowl surrounded by fruit and rolled cookies.
Vegan Cashew Chocolate Dip
Overhead shot of a frying pan containing sliced Italian sausage, orzo pasta, and vegetables in a marinara sauce.
One-Pan Italian Sausage and Orzo Pasta


Saturday 8th of May 2021

I adapted your base to use vegetables I had on hand (potatoes, pumpkin and broccolini). It was delicious! Thanks


Wednesday 5th of May 2021

I made this for the first time it came out great, thank you for sharing this amazing recipe


Saturday 17th of April 2021

This was DELICIOUS!!! My new favorite recipe!! Thank you so much for sharing!!

Marie | Yay! for Food

Thursday 22nd of April 2021

So glad you like the curry!


Tuesday 2nd of March 2021

Beautiful curry, but turned out very bland. I tried adding some extra salt, curry powder, and sriracha, which helped some!

Jacob Andersson

Thursday 18th of February 2021

This turned out amazing! Added other veggies I had in the fridge but I think the coconut milk + lime zest and juice are the real star players here

Marie | Yay! for Food

Friday 19th of February 2021

Thank you Jacob! So happy to hear! I love the bright flavour that the lime adds!

Skip to Recipe