This General Tso’s tofu recipe is a fantastic vegetarian dinner that can also be made vegan and gluten-free. It’s a perfect balance of sweet, salty, savory, and spicy. Unlike the version you’d order at a restaurant, this recipe is not deep-fried, making it much less heavy.
I’m not a vegetarian. However, while I love things like bacon, buttermilk chicken, and kalua pork, I often skip meat with my meals. This has become especially common for me with Indian and Chinese cuisine. I absolutely love swapping the meat with tofu or paneer, depending on where I’m dining and the available options. Paneer tikka masala and paneer makhani are two of my favorites meals to order at Indian restaurants. I often get General Tso’s tofu from our favorite local Chinese spot.
I love the texture, it soaks up the sauce perfectly (more so than meat), and I feel less full after I’ve finished a meal. What I love about this General Tso’s tofu recipe is that it’s not deep fried, and I know exactly what I’m putting into my body. For example, there’s no MSG.
Tips For How To Make General Tso’s Tofu
- The recipe I adapted from uses dried Szechuan peppers, which are the small red peppers you’ll find in many Chinese dishes. Check out my Kung Pao Brussels Sprouts to see them in action. Since most people don’t have these in the pantry, I decided to swap them out this time for crushed red pepper. Adding 1/2 teaspoon will add a very mild warmth to the sauce; use 1 teaspoon (or more) for some heat. Alternately, you could add up to 1 tablespoon of sambal (more of that below).
- The original recipe adds an extra step to stir-fry the dried peppers and scallions. That definitely adds an authentic flair, but I was very happy with final flavor when I skipped this step, so I think it’s a fine shortcut to take. She also adds the sauce directly to the hot pan, but I found this caused the sauce to over-reduce and gel if I wasn’t very careful. Gently simmering it in a saucepan and then adding the pan-fried tofu to the sauce makes this less of a concern.
- I cut way back on the ginger. The first time, I used the recommend 1 tablespoon and it was all I could taste. That being said, I’m not a huge fan of ginger so I’m probably oversensitive to the flavor. You can use more if you like.
- I love garnishing each serving with toasted sesame seeds, but it’s just for presentation. You can barely taste them, so consider them optional.
- Part of the reason I omitted the dried Szechuan peppers is because I really want you to try sambal if you don’t already have it. It’s a wonderful ingredient that adds so much flavor to recipes. More on that below.
How To Press Tofu
For step-by-step photos of how to press tofu and slice it into cubes, I love this tutorial from I Love Vegan. I actually have a little tofu pressing gadget, but I don’t recommend buying it unless you cook a lot of tofu.
Is General Tso’s Tofu Gluten-Free?
By default, this recipe is not gluten-free because it includes soy sauce. However it’s very easy to modify it for a gluten-free version; simply swap out the soy sauce for tamari.
Is General Tso’s Tofu Vegan?
Because the marinade contains honey, this recipe isn’t vegan, but again it’s easy to adapt. For a vegan General Tso’s tofu recipe, swap out the honey for light agave nectar. Also, please note that some versions of sambal contain fish sauce. The brand I use does not contain any fish ingredients.
What is Sambal?
Sambal is a paste or sauce typically made from a mixture of chili peppers, with additional ingredients such as garlic, ginger, shrimp paste, fish sauce, scallion, sugar, and lime juice. The ingredients will vary by region.
As I’ve noted above, I used Sambal Oelek from Huy Fong (the same brand that makes Sriracha), and there are no seafood ingredients. This brand is safe for vegetarians and vegans. It says “chili paste” on the container, but it’s more of a sauce consistency.
I love adding sambal to Asian-inspired sauces and soups (it pairs well with a variety of cuisines). You can find it in the international aisle of many chain grocery stores, and it can also be purchased online at places like Amazon.
Scallions vs Green Onions
This recipe calls for scallions. Wondering about the difference between scallions and green onions? Read scallions vs. green onions to learn more!
More Tofu Recipes
Love tofu? Be sure to check out my Sesame-Crusted Tofu Salad with Spicy Peanut Dressing and Crispy Baked Tofu with Broccoli. I also have a tutorial on How To Make Tofu!
General Tso’s Tofu
For the Tofu:
- 1 16-ounce package extra firm or firm tofu
- 3 tablespoons soy sauce (use tamari for gluten-free)
- 2 - 3 teaspoons sambal chili paste (I recommend Sambal Oelek)
- 1 1/2 tablespoons toasted sesame oil (I recommend Kadoya)
- 1 tablespoon honey (use light agave nectar for vegan)
- 1/4 cup cornstarch
- 2 tablespoons Grapeseed or vegetable oil for frying (any neutral-flavored high-heat oil will work)
For the Sauce:
- 3 tablespoons soy sauce (use tamari for gluten-free)
- 1 tablespoon toasted sesame oil
- 1 tablespoon rice vinegar
- 1 tablespoon water
- 2 teaspoons cornstarch
- 2-3 medium garlic cloves, minced (1 tablespoon)
- 1 teaspoon fresh ginger, grated on a microplane zester (see notes)
- 1/4 cup granulated sugar
- 1/2 - 1 teaspoon crushed red pepper (see notes)
- Cooked white rice
- Steamed broccoli (optional)
- Scallions, sliced thin or into 1-inch pieces
- Toasted sesame seeds (optional, for presentation)
- Press the Tofu: Place the tofu between several layers of paper towels, and set on a dinner plate or cutting board. Add a second plate on top, and then weigh it down with a book or some unopened cans (anything heavyish) to gently press the water out of the tofu. Let it sit for 20-30 minutes (up to an hour), then remove and discard the towels.
- Marinate the Tofu: While the tofu is being pressed, whisk together the soy sauce, sambal, sesame oil, and honey in a pie pan or similar shallow dish. When the tofu is ready, slice it into approximately 1-inch cubes. Place the cubes in a single layer in the pie pan, spoon some of the marinade on top, and let the ingredients soak into the tofu for 5 minutes. Flip and marinate for an additional 5 minutes.
- Prepare the Sauce: While the tofu is marinating, prepare the sauce ingredients. In a medium-sized saucepan, whisk together the soy sauce, sesame oil, vinegar, water, cornstarch, garlic, ginger, sugar, and crushed pepper. Turn the heat on medium and bring to a gentle simmer, whisking to dissolve the cornstarch and prevent lumps. As soon as the sauce begins to bubble and slightly thicken, remove it from the heat so it doesn’t over-reduce. It will be going back on the heat, so it doesn't need to be fully reduced.
- Dredge the Tofu: Place the tofu in a large resealable plastic bag, discarding any excess marinade. Add the cornstarch, close the bag, and gently shake the bag and flip it back and forth a few times to evenly coat the tofu.
- Cook the Tofu: Heat a large skillet over medium heat, then add a thin layer of oil to the bottom (how much will depend on the size of your skillet. I used about 2 tablespoons). Once the oil starts to thin out and shimmer, transfer the tofu to the skillet in a single layer (watch out for splattering oil; I used a slotted spoon to do this, which helped leave any excess cornstarch behind). Cook the tofu on all sides until brown but not burnt, 1-2 minutes per side. Adjust the heat up or down as needed to maintain an even temperature.
- Combine Tofu and Sauce: Once the tofu is brown and crispy, transfer it to the saucepan, stirring to coat, and turn the heat back on medium-low to warm it back up and finish thickening if needed. If the sauce becomes too thick, lower the heat and whisk in more water, 1 tablespoon at a time, until the desired consistency is reached.
- Serve: Prepare individual serving bowls with rice and broccoli (if using). Top with the tofu and sauce, then garnish with scallions and sesame seeds. Store leftovers in an airtight container in the refrigerator, and enjoy within 3 days.
Please read my full post for additional recipe notes, tips, and serving suggestions!
For immediate help troubleshooting a recipe, please email me using the form on my contact page. I’ll try to respond to urgent questions as quickly as possible! For all general questions, please leave a comment here :)