This green curry with tofu is a simple vegan recipe that’s perfect for weeknight meals or as ‘homemade takeout’ on weekends. It has a rich, creamy green curry sauce that packs in delightfully spicy flavor.
Curries, such as this one, are great to use any vegetables you have on hand. It’s a hearty meal on its own, but you can serve with a side of rice to add satisfying carbohydrates.
Get the Veg Out newsletter for vegan recipes + nutrition content!
This post contains affiliate links (including Amazon Associates) and I earn from qualifying purchases.
Ingredients and Substitutions for Tofu Green Curry
This is a very versatile recipe; add any vegetables you like (or need to use from your fridge)! There are some base ingredients you’ll want to have on hand including:
- Extra firm tofu: Given this is a tofu curry, you’ll need some tofu. Any type of tofu can work in this curry, but I like to use extra firm tofu as I find it has the best texture and holds up well in the sauce.
- Vegetable oil: To pan-fry tofu, and then sauté the vegetables, you’ll need some vegetable oil. Any type of oil should work.
- Garlic, ginger, onion: Even though green curry paste is packed with flavor, I like to start by adding these tasty aromatic vegetables.
- Vegetable broth or water: If you have veggie broth on hand, feel free to use it and add extra flavor to the curry. If not, water is just fine given there is so much flavor in the rest of the recipe.
- Coconut milk: For a rich and creamy curry, I like to use coconut milk. It adds a nice, subtle coconut flavor to the dish. If you aren’t a fan, use cashew cream or some other type of vegan cream.
- Green curry paste: This is the star ingredient in this recipe. Green curry paste is a blend of aromatic vegetables and other spices. Traditionally, it contains shrimp paste, but many store-bought options are vegan. Just read the ingredient label to be sure. Please note that this curry paste is quite spicy; if you aren’t a fan of spice, this may not be the recipe for you and red curry might be a better option.
- Soy sauce or tamari: For some salt, I like to add soy sauce (or tamari for a gluten-free option). This adds a great depth of flavor to the curry.
- Lime juice: Some fresh citrus elevates the flavors of this dish. Lime juice pairs perfectly with green curry, but lemon juice can work as well.
- Brown sugar: A touch of sugar helps to balance the heavier, spicy flavors of this curry. It’s technically optional and other types of sweeteners should work (although I’ve never tested them).
- Vegetables: I use potato, green bell pepper, zucchini and snow peas for this recipe. Any vegetables can work, so choose what you like. The cooking time for other vegetables will vary, so keep that in mind. Your chosen vegetables don’t have to be green in color to work!
How to Make Vegan Green Curry
This recipe is simple to make and can be done in a single pot for easy clean up. If you want to serve with rice, start with that before preparing any curry ingredients.
Step 1: Pan Fry Tofu (Optional)
If you typically press your tofu, go ahead and do it now. I buy an extra firm tofu that I don’t need to press (comes packaged in a vacuum-sealed bag).
Then, cut your tofu however you like. I prefer to slice the tofu so it’s easy to pan-fry on both sides, then I cut the slices into 6 squares. I find this easier than trying to brown cubed tofu pieces.
Warm some vegetable oil in a non-stick pan over medium heat, then pan-fry the tofu until golden brown. I typically work in two batches.
Once browned, remove from the pan and set aside.
To save dishes, I like to brown my tofu in the pot I’ll cook the curry in.
This step is optional as you can simply add the chopped/ sliced tofu directly into the curry uncooked, but I enjoy the added flavor of browning it.
While the tofu doesn’t stay crispy once added to sauce, extra firm tofu does hold its texture well. It holds its firm texture better if pan-fried compared to adding the tofu in raw (in which case the tofu becomes a bit softer as it simmers in curry sauce).
Step 2: Cook Curry
Before you cook the curry, chop all your vegetables and make sure all other ingredients are ready to use.
To cook your curry, warm about 1 tablespoon of oil over medium heat. Add the chopped onion and cook for about 5 minutes, until it starts to soften, stirring regularly.
Add the minced garlic and minced/ grated ginger, then cook for another 1-2 minutes. Stir continuously as garlic tends to burn and grated ginger tends to stick to the pan.
Next, add vegetable broth or water and scrape up any browned bits from the bottom of the pot. Add potatoes, curry paste and soy sauce, then stir until the curry paste is well mixed into the broth.
Bring this to a boil over high heat, then lower to medium heat and boil for 4-5 minutes, softening the potatoes. Add bell pepper, zucchini and coconut milk and simmer for 5-8 minutes or until the vegetables are almost done to your liking.
Finally, add snow peas, lime juice and brown sugar and cook another 1-2 minutes before removing the curry from heat. Taste and add salt if needed.
Step 3: Serve
Serve the curry as-is or alongside some rice. I like to top mine with chopped cilantro for even more color and flavor! Chopped Thai basil or regular basil are also tasty additions.
How to Create a Balanced Vegan Green Curry
This curry has everything a balanced meal needs! The tofu offers plant-based protein while potatoes provide healthy carbohydrates.
There’s plenty of vegetables in this recipe as well. Lastly, this is a higher-fat recipe as the tofu, coconut milk and oil all provide fats.
I like to serve this with a side of rice because green curry paste can be quite spicy, and the rice helps cut through some heat. Other Thai curry pastes tend to be milder, so if that’s your preference, check out my recipe for vegan red curry. Using a yellow curry paste is also an option as it’s the mildest choice.
How to Store and Reheat Leftover Curry
Let your curry cool to about room temperature before transferring to an airtight container, then refrigerate for up to 5 days.
Reheat using either a microwave or in a pot on the stove over medium heat until warmed through.
I’ve never tried freezing this recipe but imagine it would freeze okay. Tofu changes texture once frozen, so keep that in mind if you decide to freeze leftovers. Use a freezer safe container and this should store for a couple of months.
If you make this recipe, please rate and comment below to help others benefit from your experience!
Green Curry with Tofu (Vegan)
- 350-400 grams extra firm tofu
- 2-3 tablespoons vegetable oil
- 3 cloves garlic , minced
- 2 tablespoons ginger , grated
- 1 medium onion , diced (about 1 ½ cups or 200 grams)
- 2 medium potatoes , diced, optional to peel (450 grams)
- 1 medium green bell pepper (about 1 ½ cups or 220 grams)
- 1 medium zucchini (about 1 ½ cups or 220 grams)
- 1 cup vegetable broth (or water; 250 mL)
- 400 mL coconut milk (14 oz can)
- 3 tablespoons green curry paste (60 grams)
- 2 tablespoons soy sauce or tamari (30 mL)
- 2 cups snow peas (170 grams)
- 1 tablespoon lime juice (15 mL)
- 1 tablespoon brown sugar (15 grams)
- salt (to taste)
Step 1: Pan Fry Tofu (Optional)
- This step is optional as you can add uncooked tofu to the curry (will create a softer texture).
- If you typically press your tofu, start with that.
- Slice or cube the tofu.350-400 grams extra firm tofu
- Heat about 1 tablespoon of oil in a non-stick pan or the pot you’ll cook the curry in.2-3 tablespoons vegetable oil
- Pan fry the tofu until golden brown on all sides. You may need to work in two batches.
- Once browned, set aside.
Step 2: Cook Curry
- Prepare all the vegetables and have other ingredients ready before you begin cooking.
- Warm another 1 tablespoon of oil in a large pot over medium heat. Add onion and cook 5 minutes, until starting to soften.2-3 tablespoons vegetable oil, 1 medium onion
- Add garlic and ginger and cook for 1-2 minutes, stirring constantly to prevent burning.3 cloves garlic, 2 tablespoons ginger
- Add vegetable broth or water and scrape up any browned bits in the bottom of your pot.1 cup vegetable broth
- Then, add the potato, curry paste and soy sauce. Stir until the curry paste is well mixed into the broth.2 medium potatoes, 3 tablespoons green curry paste, 2 tablespoons soy sauce or tamari
- Bring to a boil over high heat, then lower to medium heat and boil for 4-5 minutes.
- Add bell pepper, zucchini and coconut milk and simmer for 5-8 minutes, until the vegetables are cooked to your liking.1 medium green bell pepper, 1 medium zucchini, 400 mL coconut milk
- Add snow peas, lime juice and brown sugar and cook another 1-2 minutes.2 cups snow peas, 1 tablespoon lime juice, 1 tablespoon brown sugar
Step 3: Serve
- Remove curry from heat and serve as-is (or with rice). Taste and add salt if needed.salt
- Optional to top with chopped cilantro.
More Vegan Main Meal Recipes
Like this recipe? You should also try:
About Nicole Stevens
Nicole is a vegan Registered Dietitian (RD) and founder of Lettuce Veg Out.
She helps people thrive on a vegan diet with balanced recipes and easy-to-understand nutrition science.