Go Back
+ servings
4.78 from 35 votes
Servings: 3
Author: Lisa Lin

Spicy Tofu with Creamy Coconut Sauce

For this spicy tofu recipe, I am using a very pressed style of tofu that is sometimes called “firm tofu” or “super firm tofu,” depending on the tofu maker. Read note 1 for more information. If you are using “extra-firm tofu,” read to note 2 for directions on how to prepare the tofu.
If you opened a can of coconut milk for this recipe, here are some ideas on what to do with leftover coconut milk.
Prep Time10 mins
Cook Time20 mins
Total Time30 mins



  • 20 to 22 ounces super firm or firm tofu, see note 1 for further explanation
  • 2 tablespoons canola or vegetable oil, any neutral oil works
  • pinch kosher salt


  • 2 tablespoons coconut oil, can sub with any oil
  • 1 cup thinly sliced shallots
  • 2 tablespoons minced ginger
  • 1 cup full-fat canned coconut milk, see note 3
  • 3 to 4 tablespoons sambal oelek/ulek, depending on desired level of spice (see note 4)
  • 4 teaspoons red curry paste, see note 5
  • 1 1/2 teaspoons coconut or brown sugar, see note 6
  • 1 teaspoon ground coriander, optional
  • 1 teaspoon (4g) Diamond Crystal kosher salt; 1/2 teaspoon if using table salt, add more salt if necessary


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, pat the blocks of tofu with a towel. Then, slice the tofu into 1-inch cubes.

Pan Fry Tofu

  • Heat a large non-stick 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. Sprinkle 1/4 teaspoon 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 1/4 teaspoon of salt over the tofu pieces. I usually pan fry just 4 sides of the tofu, though I fried all 6 for the photos that you see in the post. Each time you flip the tofu over, sprinkle another 1/4 teaspoon of salt over the tofu, until you’ve sprinkled 1 teaspoon of kosher salt total.
  • Once you’ve fried at least 4 sides of the tofu, turn off the heat.

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, coriander, salt, and sugar to the pan. 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. 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 blanched broccoli. 



  1. 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. If you are using “super firm” tofu, I prefer using House Foods. I’ve seen “super firm tofu” sold in large 3x3x4-inch blocks, and the tofu tends to be chewier.
  2. 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 1-inch cubes.
  3. 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.
  4. I used Huy Fong's sambal oelek, which can get quite spicy if you use a good amount of it. 3 tablespoons is medium-level spice; 4 tablespoons of it is verging on very spicy. Note that the spiciness of sambal oelek/ulek can vary across different brands. If you taste the sambal oelek/ulek and a small amount tastes quite spicy, I'd use 1 or 2 tablespoons. 
  5. I used Thai Kitchen’s red curry paste for this recipe. Although the label states that the curry paste is “hot,” I don’t find it spicy at all. If you are not using Thai Kitchen’s red curry paste, taste the curry paste you have on hand and adjust the spice accordingly.
  6. You can also use sugar, honey (if you’re not vegan), maple syrup, or agave. Any kind of sweetener will work here.


Serving: 1serving | Calories: 568kcal | Carbohydrates: 20g | Protein: 24.4g | Fat: 45g | Saturated Fat: 30.6g | Sodium: 1655mg | Fiber: 5g | Sugar: 11g
Did you make this recipe?Tag @hellolisalin or leave a star rating and comment on the blog!