
This spicy tofu recipe is something I created on a weeknight when I wanted to make a quick dinner using firm tofu I purchased at the Sunday Asian farmers market in Sacramento. It is spicy, tangy, rich with coconut flavor, and easy to make. Pair this up with a side of grains and vegetables, and you’ll have a meal in about 30 to 40 minutes!
COOKING NOTES FOR SPICY TOFU RECIPE
TYPE OF TOFU TO USE
To save time, I use a very firm style of tofu for this recipe, which does not require further pressing before pan frying. This firm variety of tofu can either come in a block in a plastic tray filled with water (see photo above, left) or in vacuum-sealed packages (see photo above, center and right)
In terms of tofu blocks in plastic trays filled with water, I like to use super-firm tofu by House Foods. I usually drain the block of tofu from the package and wrap it around a cloth to quickly absorb some excess water. The tofu is ready to pan fry immediately. You can also use extra-firm tofu in plastic trays, which is slightly softer in texture. When using extra-firm tofu, wrap a layer of cloth or paper towels around the tofu and weigh it down with a stack of plates or a pan to press out excess moisture. Let it sit for about 20 minutes before using.
Vacuum-sealed tofu tends to be denser than the super-firm tofu described above. I like to use “firm tofu” (also known as 豆腐乾 in Chinese) from local Chinese tofu makers. The tofu is so dense that there is barely any liquid trapped inside the block of tofu. They usually come in shrink-wrapped packages that contain 2 large rectangular slabs of tofu that are about 1 inch thick. You can usually find this in Asian grocery stores, especially Chinese grocers. In Sacramento, you can also find them at the Sunday Asian farmers market in Sacramento (around 5th Street, between X Street & Broadway). Hodo Foods, a Bay Area-based soy company also sells a “firm tofu” that is very pressed and sold in vacuum-sealed packages. Each package usually contains 1 rectangular slab of tofu.
One important note: I do not like shrink-wrapped super firm tofu that looks like a massive tofu brick (they’re usually several inches thick). The texture of these tofu bricks are often much coarser than the shrink-wrapped tofu produced by Asian tofu makers. Also, the tofu has a slightly squeaky quality when you chew it.
PAN FRY TOFU
Slice the tofu into 3/4 to 1-inch cubes and then pan fry them in a non-stick or cast-iron pan over medium-high heat. I like pan frying the tofu because it creates more textures on the tofu pieces–you’re not just biting into a soft block of tofu. The pan frying process is also an opportunity to season the tofu with salt.
Pan fry the sides of the tofu until golden brown, about 2 to 3 minutes. The first side may take a little longer as the pan is still heating up. When I first developed this recipe in 2021, I pan fried 4 to 6 sides of each tofu cube until they were golden. But as I cooked this recipe more, I discovered that pan frying 2 sides is sufficient. If you have time, feel free to pan fry more sides of the tofu cubes.
INGREDIENTS SPOTLIGHT
To give the sauce rich flavor and creaminess, I used coconut milk. I recommend using full-fat canned coconut milk because it is more flavorful. However, you can use canned lite coconut milk. I don’t recommend using refrigerated coconut milk beverages because they’re too runny.
For spice, I used sambal oelek (also spelled sambal ulek) from Huy Fong Foods. Sambal is a spicy relish or paste made of peppers that originated in Indonesia. Over time, the use of sambal has spread to other Southeast Asian and South Asian countries, so you can find many versions of sambal.
This sambal oelek from Huy Fong Foods delivers spice and tangy flavor, which is a great balance to the richness of the coconut milk. In small amounts, I don’t think the sambal oelek is too spicy, but the spice builds quickly. Since I published this recipe in 2021, I think Huy Fong Foods has changed their formula for their sambal oelek, and it tastes a bit spicier than before. I recommend using 2 to 3 tablespoons of it for the sauce (use less if you are more spice averse). Feel free to adjust the amount of sambal oelek to suit your tastes.
I also added red curry paste to the sauce to give it a more bright flavor. I initially developed this recipe using Thai Kitchen’s red curry paste but have made the recipe with curry pastes from different brands. One important thing to note: some brands’ red curry paste can be quite spicy, so I recommend tasting it before throwing it into the sauce. If it tastes very spicy, use less than what I specify in the recipe. Currently, I like using the Maesri brand of tinned red curry paste.
Finally, some brands add shrimp for umami flavor, so double check the labels if you are vegan or are allergic to shellfish.
MAKE THE SAUCE
While pan frying the tofu, start making the sauce. Sauté thinly sliced shallots in coconut oil for a few minutes, until softened. Add the minced ginger, and sauté until they start to turn fragrant. Then, add the coconut milk, sambal oelek, curry paste, sugar, coriander, and salt.
Some of you might wonder why I’m adding sugar to the sauce. The sweetness of the sugar balances the acidity of the sambal oelek. Although I list brown sugar and coconut sugar in the recipe, you can use any type of sugar or liquid sweetener that you want.
After simmering the sauce for a few minutes, add the tofu pieces and stir to coat the tofu with the sauce.
The spicy tofu is great with a side of grains like jasmine rice, brown rice, or quinoa. I also recommend serving it with a side of vegetables, like blanched broccoli, Chinese smashed cucumber salad, Chinese garlic green beans, or roasted asparagus. If you are blanching vegetables, make sure to salt the water before boiling. Then, blanch the broccoli for about 2 to 3 minutes.
Spicy Tofu with Creamy Coconut Sauce
Ingredients
Tofu
- 10 to 20 ounces super firm or firm tofu, see note 1 for further explanation
- 2 tablespoons canola or vegetable oil, any neutral oil works
- pinches of kosher salt
Sauce
- 2 tablespoons coconut oil, can sub with any oil
- 1 cup (120g) thinly sliced shallots
- 1 1/2 tablespoons minced ginger
- 1 cup full-fat canned coconut milk, (see note 3)
- 2 to 3 tablespoons sambal oelek/ulek, depending on desired level of spice (see note 4)
- 1 1/2 tablespoons red curry paste, (see note 5)
- 1 1/2 to 3 teaspoons coconut or brown sugar, depending on desired level of sweetness (see note 6)
- 1 teaspoon ground coriander, optional
- 1/2 teaspoon (2g) Diamond Crystal kosher salt, 1/4 teaspoon if using table salt, add more salt if necessary
Instructions
Prepare Tofu
- When you remove the blocks of tofu from the package, the tofu should feel very dense. If the tofu has been sitting in a lot of liquid, wrap a towel around the tofu and gently squeeze it to remove excess moisture. Then, slice the tofu into 3/4 to 1-inch cubes.
Pan Fry Tofu
- Heat a large non-stick or cast iron pan with 2 tablespoons of oil over medium-high heat. Transfer the tofu pieces to the pan. If you can’t fit all the tofu pieces at once, cook them in batches. (If you’re cooking 20 ounces of tofu, you likely need to cook in batches.) Sprinkle a small pinch of salt over the tofu.
- Pan fry the tofu until the bottom side is golden brown, about 3 minutes. Flip them over to another side and pan fry the tofu until golden brown. Sprinkle another small pinch of salt over the tofu pieces. When I’m cooking this recipe for dinner, I only pan fry 2 sides of the tofu until golden brown, but feel free to pan fry more if you want more texture. (I pan fried all 6 sides for the photos you see in the post.)
- Once you’ve pan fried at least 2 sides of the tofu, turn off the heat and transfer the tofu pieces to a plate. If you are frying 2 batches of tofu, pan fry the second batch now and season with salt. Add more oil to the pan if it’s looking dry.
Cook the Sauce
- Heat 2 tablespoons of coconut oil in a large skillet over medium to medium-low heat. Add the shallots and cook them for about 4 to 5 minutes, stirring frequently to prevent them from burning. The shallots should be quite soft at this stage. Next, add the minced ginger and cook for 30 seconds to 1 minute, until fragrant.
- Add the coconut milk, sambal oelek, red curry paste, sugar, coriander, and salt to the pan. Stir to combine. Increase the heat to medium-high and let the sauce simmer for 3 to 4 minutes.
- Turn off the heat. Add the fried tofu to the pan and stir to coat the tofu pieces with the sauce. Transfer the tofu to a serving dish. Taste the sauce and adjust the seasoning to your taste, adding more salt or sugar if necessary. Garnish with scallions, red pepper flakes, and toasted sesame seeds, if you like. Serve the tofu with jasmine rice and a side of vegetables like roasted asparagus or steamed broccoli.
Video
Notes
- I used a very pressed style of tofu that doesn’t require pressing. House Foods calls it “super firm” tofu; Hodo and many local Chinese tofu makers usually call it “firm tofu.” The benefit of using this type of tofu is that you don’t need to press the tofu before pan frying. I’ve seen “super firm tofu” sold in large 3x3x4-inch blocks, and the tofu tends to be chewier and more coarse, which I don’t like.
- Extra-firm tofu: If you are using extra-firm tofu, drain the tofu and wrap the tofu block with a layer of paper towels or muslin cloth. Place the wrapped block of tofu on a plate and weigh it down with a stack of plates or a small pan to press the tofu. Let it sit for about 20 minutes before slicing into 3/4 to 1-inch cubes.
- Full-fat canned coconut milk will yield a richer sauce with more flavor. If you want something lighter, you can use canned lite coconut milk. Here are some ideas on what to do with leftover coconut milk.
- I used 3 tablespoons of sambal oelek (Huy Fong brand), which yielded notably spicy tofu. The amount that you use depends on your desired level of spice and the brand of sambal oelek that you use. Since I first published this recipe in 2021, Huy Fong has slightly altered their recipe for the sambal oelek, and I feel it is spicier than before. If the sambal oelek that you have is very spicy, then use 1 or 2 tablespoons for the recipe.
- I have tried this recipe with Thai Kitchen and Maesri red curry paste. If you are using a different brand of curry paste, make sure to taste it first to make sure it’s not super spicy.
- You can also use sugar, honey (if you’re not vegan), maple syrup, or agave. Any kind of sweetener will work here.
Nutrition
MORE TOFU RECIPES
MORE RECIPES THAT USE SAMBAL OELEK
Note: This recipe was originally published in March 2021. It was updated in June 2025 with refreshed copy and slight modifications to the main recipe.
Jenna says
This recipe was so satisfyingly spicy and yet the kids liked it too ( I made it a little less spicy from your notes). I will definitely make again! Easy to do and deliscious!
Lisa Lin says
Thank you, Jenna!
Ramya says
Will be making this soon i never had spicy tofu with creamy coconut sauce before will be making this right away after office next week sorry for early comment as am in Singapore will dm you if i make this and let you know how it goes Thanks Ramya
Mark says
This was outstanding! It’s definitely going into my regular meal rotation. So easy to make and so much flavor. I’m going to try some variations by using the sauce paired with roasted cauliflower and with chickpeas. Thank
ROBIN MCKAY says
Please, I retract my questions about soy sauce, tamari, and shoyu and am embarrassed to say I should have read your complete explanation about these various sauces before writing. I found the answers to my questions revealed in the pantry section. Thank you for the thorough research and clear explanations. I am enlightened!
Lisa Lin says
Hi, Robin. No problem! Thanks for reading through that post. It’s a good reminder for me to link to the soy sauce vs tamari post in the teriyaki soy sauce recipe.
Lea says
All I can say to this is “YES! I need to make this!”
Francesca says
Absolutely delicious and so easy. A new weeknight fav:)
Lisa Lin says
Thanks for trying it, Francesca!
Lea says
I’m adding all of these ingredients to my grocery list right now!! Will be making this week 🙂
Kit says
It was so easy to make this delicious meal. The instructions were clear, concise and accurate. My meat eating husband loved it and said we needed to keep this recipe for future meals.
Lisa Lin says
Thanks, Kit!!
Raneem says
I made this and I loved it! The sauce was a little spicy and I substituted shallots with onions but it was so tasty. It definitely took me longer than 30 minutes to make the whole recipe but it was so good! I’m definitely going to make this again!
Lisa Lin says
Thanks, Raneem!
Kathy says
So delicious! I substituted chicken breast for tofu and Sriracha for Sambal oelek, only because I didn’t have any. I used 3 tablespoons of sriracha and would use a bit more for me but this was good for people that don’t like it so spicy. I used 10 oz chicken and still had plenty of sauce for two servings. I may make it as an appetizer for Christmas. So so good.
Lisa Lin says
Thanks, Kathy!
Liz co says
How long does this cooked recipe last in refrigerator if you don’ t eat all of it.
Lisa Lin says
I think if you eat it within 3 to 4 days, it should be fine.
Charlotte Forrest says
We loved this recipe!! My husband can’t eat super spicy food so I halved the spice but added 1 tablespoon of tomato paste instead. I also add roasted white Japanese sweet potatoes.
Served with brown rice. I will definitely make this again!!!
Lisa Lin says
Thanks for making this, Charlotte! Love the substitutions!
Molly says
This was fantastic, what a great recipe! I baked my tofu until it was crispy instead of frying and that worked really well. Although I would have preferred to use red thai curry paste, I only had green but it was still really delicious. Served this with jasmine rice and sauteed shitake mushrooms and baby bok choy. Such a quick and easy dinner and you can easily make the sauce ahead of time and chop your shallots and ginger to save time.
Lisa Lin says
Thanks for the cooking notes, Molly! Glad this worked with baked tofu too!
Roberta says
EVERYBODY loved this dish…and none are vegan, only me. Glad I doubled.
I used less salt than called for – I definitely recommend tasting before adding the salt.
Lisa Lin says
Thanks, Roberta! Great note about the salt, especially since you doubled the recipe!
Roberta says
I’ve made this 3 times already for various members of my family. I’m the only vegan…EVERYONE loved it!
Lisa Lin says
Thank you, Roberta!!!
Roberta says
Sorry for the duplicate review. I guess we really, really like it…lol
Lisa Lin says
Haha, I appreciate it!
Kelly Vollmer says
I only had green curry paste on hand. Still came out delicious. I will make this again and again.
Rose says
Do you shake the tin of coconut milk first, or just use the hardened cream from the top ?
Lisa Lin says
I always shake it first!!
Amanda says
Followed per the author’s directions and suggestions. Came out amazing!! Served it with red rice and broccoli to round it out. Delicious and healthy win for meatless Monday!
Lisa Lin says
Thanks for making it, Amanda!
Jenna says
I used sriracha instead of sambal oelek, and only 1tsp of salt instead of 1.5tsp and the sauce was so salty it was inedible. Is sriracha saltier than sambal oelek? I wanted to love this but we had to throw it away.
Kiana says
Waaaaaaaayyyyy too salty. Cut back the salt and this recipe would be so good. I just spent all that time cooking just for an over-salted dish.
Lisa Lin says
Did you use kosher salt like I specify in the recipe? Because it’s a lot flakier than table salt or sea salt.
Allison says
Super tasty! I used only 1Tbsp sriracha because my red curry paste was quite spicy. I used oven roasted crispy tofu (tofu tossed in tamari and cornstarch and baked until crispy) and it was so delicious! Definitely making again.
Sonya says
I made this last night and the sauce is amazing! Tofu has never been my favorite but this is one of my new favorite meals. Any recommendations on how long the sauce stays good if it is being stored in the fridge? Thanks!
Lisa Lin says
Thank you, Sonya! Try to use the sauce in 3 or 4 days.
Nick says
Just wondering if you have served over noodles
Lisa Lin says
Absolutely. I leave the noodles pretty plain though because there’s enough flavor from the sauce.
Jennie says
This dish looks absolutely delicious! It’s making my mouth water, and I appreciate you sharing a great video with a detailed recipe. I enjoy watching you cook.
Danielle Y. says
This has become a new family favorite! We use green curry instead because it’s what we have, and this comes out delicious every time! What I find fascinating is that it has an essence of peanut sauce/curry (my absolute favorite) without having any peanuts in the recipe. Hmm…
Lisa Lin says
Thanks for making it, Danielle! I wonder if the coconut milk makes you think of peanut flavor in a curry?
Mallory says
Soooo good. Kinda over did it with the spice level, I thought we were gonna be fine and went for 4 scoops of chili sauce. Wow i was wrong but it was still sooo good that it was worth having my mouth on fire. Husband loved it even though he isn’t the biggest tofu fan.
Next time I will probably skip the tofu and just do vegetable, like bell peppers, eggplant and bamboo shoots
Lisa Lin says
Mallory, Thanks for trying the recipe! Glad you enjoyed it!
Kate says
Absolutely amazing, so saucy and spicy. Decided to use red bell peppers, it was delicious.
Lisa says
Wow – just delicious! Have made this 3 times since discovering it and have recommended to several friends. Thank you!!
Shay says
I made this just last night and it was absolutely delicious. I didn’t need to substitute anything and the measurements were just right. Will definitely be adding this to my weeknight rotation! Thanks!
Lisa Lin says
Thanks, Shay!
Molly says
Fantastic! A few changes I experimented with:
To save a bit of time and add even more flavor, I baked my tofu on a sheet pan after tossing it in tahini, sriracha and avocado oil. 25 minutes in a 425 degree oven got it nice and browned. The flavors complimented the sauce really well!
I also used coconut manna instead of canned coconut milk to avoid the BPA in cans. I used 1/2 cup coconut manna blended with 3/4 cup of water (soften the coconut manna before blending to integrate well). This methods allows you to customize the consistency of your coconut milk and make the exact amount you are looking for.
Thanks for the great recipe, Lisa! We will be making again.
Lisa Lin says
Thanks for these notes, Molly!
Taylor says
SO easy and so delicious! Had to use red onion instead of shallots because that’s all I had. Will be making this again and will definitely double the sauce (maybe mine wasn’t enough because I didn’t use full fat?).
Amanda says
I love this recipe! Sometimes when I make it seems like when I add the tofu to the sauce it makes it very oily . Is there anyway to scale back on the amount of oil to use and it still to come out good?
Lisa Lin says
You can try using a little less oil when pan frying the tofu, if you’d like.
Ruth Grindeland says
I came across the recipe last week on Pinterest and I have been excited to make it for my husband. I did make it tonight and it came out wonderful. I garnished it the way I would red curry with lime, cilantro, and jalapeno. It was Delicious! I will be making it again for my friend on Thursday.
Lisa Lin says
Thanks for making this, Ruth!!
Heidi says
I’m the friend Ruth cooked for 😊
Lucky me! This was so delicious – and she added roasted broccoli too. I devoured a bowl full on a chilly night and it was perfect! Can’t wait to make this for my sister’s visit next week.
Thanks!
Lisa Lin says
Thanks for making it, Heidi!
Sam says
I love this recipe and it’s one of my staples in rotation now!
I’m wondering though, do you think you could freeze this?
Lisa Lin says
I think some people have frozen this, and it seems to work for them! The texture of the tofu might be a little different once you reheat it.
Marta says
I made this spicy tofu with creamy coconut sauce for our Meatless Monday dinner last night and the family raved about how amazing it was. I was worried that our weak daughter would complain about the spice level, but since I only added 3 tablespoons of sambal oelek, it was perfect. This will definitely be a repeat recipe in our home.
Lisa Lin says
Thank you, Marta!!!!!
greenlifemom says
Pretty spicy for me, not for my husband. I added more coconut milk to my dish and my husband added more Samel Oelek to his. Perfect! Great flavor!
Lisa Lin says
Thank you for trying this!
Nurit says
Best recipe ever!!!
It was amazing!
My family loved it 😍
I didn’t have the spice so made it without it and still turned out so yummy
Thank you
Lisa Lin says
Thanks for trying out the recipe!
Denise says
I baked my tofu until it was golden and crispy instead of frying. I also threw a handful of fresh spinach into the sauce. Easy and delicious!
Rene says
This is an Americanized version of thai sauce or something. Not good and it’s very kitchy not authentic at all. Wasted my money.
Patricia Garnham says
Can the leftovers be frozen
Lisa Lin says
The texture of the tofu might be a bit different once you reheat. If you don’t mind it, then yes!
G says
Thank you for the recipe! How can I adjust the amounts to use for two packages of 14 oz tofu?
Thank you!
Lisa Lin says
There probably will be just about enough sauce to coat the tofu. But if you want there to be more sauce, feel free to cook 1.5x of the recipe but with one important note: start off with the original amount of sambal oelek. Taste the sauce and if it’s spicy enough leave it there. If you like more spice, add more.
Jo Anna says
This was delicious. And so very easy.
I added some lime juice at the end and it was perfect.
Kayla says
Very delicious!! I subbed gochujang pasta because it’s what I had I hand, I kept it at 3 tablespoons which in my opinion was too spicy (and I love spicy food haha) so I think when I make it again I would use less pasta.
Sonia says
Made this last night and loved it! So much flavor … new weekly recipe!
Kathy Satterfield says
I made a mistake and added a full can of coconut milk to the sauce. Realizing what I had done, I backtracked and added proportionate amounts of additional ginger and curry paste. It was delicious and I will be able to save the extra sauce for a nice dish later this week. A good mistake!!
Lisa Lin says
Kathy, I’m so glad you enjoyed this recipe (even though you had to double the sauce). Thanks for trying it!
Betsy says
This has become a regular meal in our dinner arsenal. it’s SO good and simple to make.
Stephanie says
This was delicious and easy! My sambal oelek must be some spicy because I used 2 tbsp and it was SOOOO spicy. I didn’t test it before adding it into the sauce, so friendly reminder to do so for all!
Tejal says
Can’t wait to make this! Is it something I can meal prep? How many servings will come out of this recipe? Thanks!
Lisa Lin says
Hi, Tejal. I’d say this makes 3 servings with rice (assuming you have a vegetable dish as a side). It is absolutely something you can meal prep. I’ve done it before!
Liz says
Delicious and so easy! I used the air fryer for the tofu and doubled the sauce. It will be on regular rotation in our house for sure.
Elizabeth says
Thank you, this is some of the best tofu I’ve made! The sauce is so flavorful and the spice is evened out so well by the coconut milk. This will definitely be added to my meal prep rotation.
Anita Kasmir says
This is the closest thing that I have had to my favorite dish at a local restaurant where I used to live. I wasn’t even thinking that it would taste like that. Now I am so glad I tried it. It was delicious.
Lisa Lin says
Thanks, Anita!