Quick Recipe Version (TL;DR)
Quick Ingredients
- 14 oz (396 g) extra-firm tofu, drained and patted dry
- 1/2 tsp kosher salt, 1/4 tsp black pepper
- 1 tbsp cornstarch (optional, for extra crisp)
- 2 tbsp neutral oil (divided)
- 1 lb (450 g) ripe tomatoes, chopped (or 1 can 14.5 oz/411 g diced tomatoes)
- 3 garlic cloves, minced
- 4 scallions, whites and greens separated and sliced
- 1 tbsp tomato paste
- 1 1/2 tbsp fish sauce
- 2 tsp sugar
- 1/2 cup (120 ml) water or low-sodium vegetable stock
- 1 tsp rice vinegar or lime juice
- Optional: 1 small Thai chili or 1/4 tsp red pepper flakes
Do This
- 1) Press tofu 10 minutes; cut into 8–10 rectangles. Season with salt/pepper; dust with cornstarch if using.
- 2) Heat 1 1/2 tbsp oil in a nonstick or cast-iron skillet over medium-high until shimmering (about 350°F/177°C).
- 3) Sear tofu 2–3 minutes per side until golden. Transfer to a plate.
- 4) Add 1/2 tbsp oil; sauté garlic and scallion whites 30–45 seconds.
- 5) Stir in tomato paste, then tomatoes, fish sauce, sugar, and water. Simmer 6–8 minutes at a gentle bubble (190–200°F/88–93°C).
- 6) Nestle tofu into sauce; simmer 3–4 minutes. Finish with scallion greens and vinegar/lime. Adjust salt, pepper, and heat.
- 7) Serve hot with steamed jasmine rice.
Why You’ll Love This Recipe
- Weeknight easy: one skillet, pantry staples, dinner in 35 minutes.
- Balanced flavors: savory fish sauce, sweet-tart tomato, gentle garlic, and fresh scallions.
- Great texture: golden-edged tofu that stays tender as it simmers in a glossy sauce.
- Flexible: mild or spicy, fresh or canned tomatoes, vegan swaps included.
Grocery List
- Produce: Tomatoes (about 1 lb), garlic (3 cloves), scallions (1 bunch), Thai chili (optional), lime (optional)
- Dairy: None
- Pantry: Extra-firm tofu (refrigerated aisle), fish sauce, tomato paste, neutral oil, sugar, kosher salt, black pepper, cornstarch (optional), rice vinegar, vegetable stock (optional), jasmine rice (for serving)
Full Ingredients
Tofu
- 14 oz (396 g) extra-firm tofu, drained and patted very dry
- 1/2 tsp kosher salt
- 1/4 tsp freshly ground black pepper
- 1 tbsp cornstarch (optional, helps extra crisping)
- 2 tbsp neutral oil (such as canola, sunflower, or rice bran), divided
Tomato Sauce
- 1 lb (450 g) ripe tomatoes, cored and chopped (or 1 can 14.5 oz/411 g diced tomatoes)
- 1 tbsp tomato paste
- 3 garlic cloves, minced
- 4 scallions, whites and greens separated and thinly sliced
- 1 1/2 tbsp fish sauce
- 2 tsp sugar
- 1/2 cup (120 ml) water or low-sodium vegetable stock
- 1 tsp rice vinegar or fresh lime juice
- Optional heat: 1 small Thai chili (thinly sliced) or 1/4 tsp red pepper flakes
To Serve
- Steamed jasmine rice
- Extra black pepper to finish

Step-by-Step Instructions
Step 1: Drain and press the tofu
Drain the tofu and pat it dry. Press it for 10 minutes between layers of paper towels or a clean kitchen towel with a light weight on top to remove excess moisture. Cut into 8–10 equal rectangles (about 3/4 inch thick). Season the pieces with 1/2 tsp kosher salt and 1/4 tsp black pepper. If you want extra-crisp edges, dust all sides evenly with 1 tbsp cornstarch, shaking off any excess.
Step 2: Prep the aromatics and tomatoes
Mince the garlic. Slice the scallions, keeping whites and greens separate. Core and chop the tomatoes (or open the can). If you like heat, thinly slice a Thai chili. Measure the tomato paste, fish sauce, sugar, and water/stock so they’re ready to go.
Step 3: Pan-sear the tofu until golden
Heat 1 1/2 tbsp oil in a large nonstick or well-seasoned cast-iron skillet over medium-high heat until the oil shimmers (about 350°F/177°C if using an infrared thermometer). Add the tofu in a single layer and cook undisturbed for 2–3 minutes per side until deep golden and lightly crisp. Transfer to a plate and keep warm.
Step 4: Build the bright tomato sauce
Reduce the heat to medium and add the remaining 1/2 tbsp oil. Add garlic and scallion whites and sauté for 30–45 seconds until fragrant but not brown. Stir in the tomato paste and cook for 30 seconds to caramelize. Add tomatoes, fish sauce, sugar, and water/stock. Bring to a lively simmer, then reduce to a gentle bubble (about 190–200°F/88–93°C). Cook for 6–8 minutes, stirring occasionally, until the tomatoes soften and the sauce looks glossy and slightly thickened.
Step 5: Simmer tofu in the sauce
Nestle the seared tofu back into the skillet, spooning sauce over the top. Simmer on medium-low for 3–4 minutes so the tofu absorbs the flavors, turning once halfway through. If the sauce reduces too quickly, add 1–2 tbsp water to maintain a spoonable consistency.
Step 6: Finish, taste, and serve
Stir in the scallion greens and the rice vinegar or lime juice. Taste and adjust: add a pinch of salt, more fish sauce for savoriness, a touch of sugar if your tomatoes are very tart, or the chili for heat. Finish with a few grinds of black pepper. Serve immediately over steamed jasmine rice, spooning extra sauce over each portion.
Pro Tips
- Dry tofu = better sear. Pressing and thorough patting prevents sticking and helps a golden crust form.
- Use the right pan. Nonstick or well-seasoned cast iron makes turning delicate tofu a breeze.
- Let the tofu release. If it resists flipping, give it another 30 seconds—crust forms, then releases naturally.
- Balance the sauce. Fish sauce brings salt and umami; sugar rounds acidity; a splash of vinegar or lime brightens at the end.
- Fresh or canned both work. Ripe Roma or plum tomatoes give a fresh, light sauce; canned diced tomatoes give a saucier, consistent result.
Variations
- Vegan version: Replace fish sauce with 1 tbsp light soy sauce plus 1/2 tsp mushroom seasoning or a dash of seaweed powder for umami.
- Spicy: Add 1–2 sliced Thai chilies to the sauté or finish with chili oil.
- Chunkier sauce: Stir in 1/2 cup (70 g) diced bell pepper with the tomatoes for extra texture and sweetness.
Storage & Make-Ahead
Refrigerate leftovers in an airtight container for up to 3 days. Reheat gently on the stovetop over low heat or in the microwave until hot; thin with a splash of water if the sauce is too thick. The tomato sauce can be made 2–3 days ahead and refrigerated; sear tofu just before serving for best texture, then simmer briefly in the warmed sauce.
Nutrition (per serving)
Approx. 210 calories; 10–12 g fat; 9–12 g carbohydrates; 10–12 g protein; 780 mg sodium. Estimates only; will vary with exact products and salt level.
