Spinach Tofu with Shimeji
Looking for a light yet flavorful dish? This spinach tofu with shimeji mushrooms is packed with plant-based protein, earthy umami, and silky-smooth texture. It’s a vegetarian-friendly recipe that’s both nourishing and surprisingly satisfying, perfect as a side dish or a wholesome main for your meatless nights.

The first time I tried silken tofu with spinach at a Chinese restaurant, I was hooked. The texture was unbelievably soft, the flavor subtly savory, and the pairing of spinach and tofu was simply perfect. From that day on, I kept ordering it—no matter what else we got, this dish always made it to our table.
When the pandemic hit and restaurants closed, I knew I had to learn how to make it myself. I tested different versions of spinach with tofu at home, adjusting seasonings and ingredients until I found one that brought back that same comforting taste. Out of all the recipes I tried, this one quickly became my favorite. It’s simple, satisfying, and comes together with just a few fresh ingredients.
What makes this dish shine is the silken tofu—delicate and smooth, it absorbs the umami-rich sauce while pairing beautifully with tender sautéed spinach. If you enjoy dishes like Mun Tahu or Szechuan Pork with Tofu, this spinach tofu recipe delivers that same comforting, home-cooked feel with a lighter, vegetarian twist.
Why You Will Love This Recipe
Recipe Ingredients

Ingredients Note
Spinach or Horenso (Japanese spinach) – If using regular spinach, squeeze out the excess water after chopping, if it gets watery. Horenso is naturally drier and can be used straight after chopping or lightly blanched. Both add great color and nutrients to the dish.
Unsweetened Soy Milk – Use unsweetened soybean milk for the best flavor and texture. It gives the tofu a clean, silky finish, sweetened versions will throw off the taste.
Shimeji mushrooms – White or brown shimeji mushrooms work well. They add subtle umami and a tender bite that pairs beautifully with the soft tofu.
Be sure to check out the full recipe and ingredient list below
How to Make Spinach Tofu

STEP 1: Make the tofu mixture. In a bowl, crack the eggs and add salt and mushroom powder (Image 1). Whisk well, then pour in the unsweetened soy milk (Image 2). Mix until fully combined (Image 3), then strain the mixture to get a smooth texture (Image 4).

STEP 2: Prepare the tofu base. Finely mince the horenso (Japanese spinach) (Images 5, 6) and spread it evenly in a greased and lined 20×20 cm baking pan. Gently pour in the egg mixture (Image 7)—the spinach will float to the top (Image 8).

STEP 3: Steam the tofu. Cover the pan with aluminum foil and steam over medium heat for 25 minutes (Image 9). Meanwhile, boil some water with a little oil and salt (Image 12). Blanch extra horenso for 2 minutes (Image 11), drain, and place it on a serving plate (Image 12).

STEP 4: Cut and fry the tofu. Once the tofu is steamed and set, remove it from the pan and cut into squares (Images 13, 14). Deep-fry the pieces until golden brown (Images 15, 16), then set aside.

STEP 5: Cook the mushroom topping. Arrange the fried tofu over the blanched spinach (Image 17). In a wok, heat oil and sauté crushed garlic or use flavored oil (Image 18). Once the garlic turns golden, remove it for garnish. Add shimeji mushrooms and seasonings (except sesame oil) to the wok (Images 19, 20), stir-fry until tender.

STEP 6: Make the sauce and serve. Pour in some water (Image 21) and thicken with cornstarch slurry (Images 22, 23). Add sesame oil at the end. Pour the mushroom sauce over the tofu and top with the fried garlic (Image 24). Serve warm with rice and enjoy your homemade spinach tofu!
Pro Tips
- No spinach? No problem. If you want to skip the horenso, simply use eggs and unsweetened soybean milk for a delicious silken tofu or egg tofu alternative. The spinach adds nutrients and color, but it’s optional.
- For a thicker tofu base, use a smaller baking pan so the mixture sets with more height.
- Chop spinach finely. The finer the chop, the smoother the texture. You can also use a food chopper to save time (and your wrist!).
- Strain it twice for ultimate silkiness. This is the secret to restaurant-style tofu. Straining the mixture twice helps remove bubbles and stray egg whites for a perfectly smooth, silky texture.
- Clean your mushrooms. Always rinse shimeji mushrooms thoroughly—especially at the base, where dirt tends to hide.
Serving Suggestions
When I make this spinach tofu at home, it’s usually part of a comforting, share-it-with-family kind of meal. I love serving it with warm rice and something crispy on the side—like my Crispy Pork Belly (because my husband always asks for it!) or a few slices of sweet Char Siu. The contrast between the rich, bold meats and the soft, savory tofu is just so good.
If I’m in the mood for something lighter, I’ll add a bowl of Egg Drop Soup—simple, cozy, and perfect for sipping between bites. And when I want to go all out (usually on weekends!), I throw in some Shrimp Balls or other deep-fried snacks for that full Chinese restaurant vibe..
This tofu may look humble, but when you pair it with the right dishes, it easily becomes the star of the table.

FAQs about Spinach Tofu
Spinach tofu is typically made with eggs, unsweetened soy milk, finely chopped spinach (or horenso), and seasoning. The mixture is steamed until set and can be served soft or deep-fried with savory mushroom sauce, just like in many Chinese restaurants.
Yes, you can make a vegan version by replacing the eggs with a plant-based thickener like cornstarch, agar-agar, or soft blended tofu. However, the texture will be different—closer to a firm jelly than silken egg tofu.
The key is to strain the egg and soy milk mixture—twice if possible—to remove bubbles and stray egg whites. This helps create that silky, custard-like texture found in restaurant-style spinach with tofu dishes.
Yes! After steaming and cooling, spinach tofu can be cut into cubes and deep-fried until golden brown. It gives a lovely contrast between the crispy exterior and soft interior—perfect for topping with mushroom sauce or dipping.
Storage
Store leftover spinach tofu in an airtight container in the fridge for up to 3 days. If you’ve already added the mushroom sauce, try to keep it separate so the tofu doesn’t get soggy. To reheat, simply steam it gently or microwave it until warm—just be careful not to overcook, or the tofu may lose its silky texture.
If you want to make it ahead, you can steam the tofu base in advance and keep it chilled. Fry and add the sauce just before serving for the best texture and flavor.
More Stir Fry Recipes
- Kikurage Mushroom with Chicken
- Green Beans with Eggs
- Eggplant Ground Pork
- Pork and Broccoli Stir Fry
- Egg Tomato Stir Fry

Spinach Tofu with Shimeji Mushrooms
Ingredients
Spinach Tofu
- 500 ml soybean milk unsweetened
- 7 eggs
- ½ tsp salt
- ½ tsp mushroom powder
- 100 gr Horenzo or spinach
Shimeji Mushroom sauce
- 3 garlic sliced thinly or minced for garnish later
- 1 pack Shimeji mushroom
- 1 tbsp oyster sauce or vegetarian stir fry sauce
- ½ tsp dark soy sauce
- ½ tsp mushroom powder
- ¼ tsp salt
- ½ tsp sugar
- 1 tsp sesame oil
- 1 tbsp Shaoxing wine
- 200 ml hot water
- 1 tbsp cornstarch + 1 tbsp water
Instructions
- Make the tofu mixture. In a bowl, crack the eggs and add salt and mushroom powder (Image 1). Whisk well, then pour in the unsweetened soy milk (Image 2). Mix until fully combined (Image 3), then strain the mixture to get a smooth texture (Image 4).
- Prepare the tofu base. Finely mince the horenso (Japanese spinach) (Images 5, 6) and spread it evenly in a greased and lined 20×20 cm baking pan. Gently pour in the egg mixture (Image 7)—the spinach will float to the top (Image 8).
- Steam the tofu. Cover the pan with aluminum foil and steam over medium heat for 25 minutes (Image 9). Meanwhile, boil some water with a little oil and salt (Image 12). Blanch extra horenso for 2 minutes (Image 11), drain, and place it on a serving plate (Image 12).
- Cut and fry the tofu. Once the tofu is steamed and set, remove it from the pan and cut into squares (Images 13, 14). Deep-fry the pieces until golden brown (Images 15, 16), then set aside.
- Cook the mushroom topping. Arrange the fried tofu over the blanched spinach (Image 17). In a wok, heat oil and sauté crushed garlic or use flavored oil (Image 18). Once the garlic turns golden, remove it for garnish. Add shimeji mushrooms and seasonings (except sesame oil) to the wok (Images 19, 20), stir-fry until tender.
- Make the sauce and serve. Pour in some water (Image 21) and thicken with cornstarch slurry (Images 22, 23). Add sesame oil at the end. Pour the mushroom sauce over the tofu and top with the fried garlic (Image 24). Serve warm with rice and enjoy your homemade spinach tofu!
Video
Notes
- No spinach? No problem. If you want to skip the horenso, simply use eggs and unsweetened soybean milk for a delicious silken tofu or egg tofu alternative. The spinach adds nutrients and color, but it’s optional.
- For a thicker tofu base, use a smaller baking pan so the mixture sets with more height.
- Chop spinach finely. The finer the chop, the smoother the texture. You can also use a food chopper to save time (and your wrist!).
- Strain it twice for ultimate silkiness. This is the secret to restaurant-style tofu. Straining the mixture twice helps remove bubbles and stray egg whites for a perfectly smooth, silky texture.
- Clean your mushrooms. Always rinse shimeji mushrooms thoroughly—especially at the base, where dirt tends to hide.
This spinach tofu recipe is just like the one you have in Chinese restaurant. I am so happy to be able to make silky spinach tofu myself at home! This is definitely a must-try!