
Most General Tso’s chicken you get from a takeout place is too sweet, with soggy chicken and no crunch. The meat is tough, the crust has no texture, and the sauce is just sweet. I tested 17 versions of this sauce and kept running into the same two problems: recipes that are one-dimensionally sweet, and recipes that go too far in the other direction and end up too sour. The fix turned out to be a two-vinegar blend that keeps the sauce from just being sweet without turning the whole thing sour.
The reason most takeout General Tso’s falls apart has nothing to do with the recipe. Most kitchens fry their chicken in big batches before service, freeze it, and then re-fry it to order. By the time it hits the sauce and sits in a styrofoam container steaming on your drive home, that chicken has been cooked three times. No batter is going to hold up to that.
This post contains affiliate links, which means I may earn a small commission if you make a purchase. It doesn’t cost you anything extra. Full disclosure.
Chicken thighs, not breast. A lot of takeout places use breast meat, and it’s the main reason your average General Tso’s is tough and chewy. Breast is very lean and dries out pretty quickly in hot oil. Boneless, skinless thighs are more forgiving of the high heat, cheaper, and more flavorful. Cut them into bite-sized pieces slightly smaller than you want the finished product, because the dredge adds volume.
Shaoxing wine. This is one of the core flavoring agents in the marinade and the sauce. If you can’t find it, dry sherry is a good substitute. Don’t swap in rice vinegar or mirin here because rice vinegar will make the marinade too acidic and mirin will make it too sweet.
Light soy sauce and dark soy sauce. You’ll use both in this recipe. Light soy sauce is used mainly for seasoning. Dark soy adds color and a slightly thicker body to the sauce. Pearl River Bridge or Lee Kum Kee are the two brands I use most.
Brown sugar. This has a subtle molasses note that’s less sharp than white sugar. It gives the sauce depth instead of just sweetness. If you only have white sugar, it’ll work, but the sauce will taste flatter and more one-note.
Dried chili peppers. You can find these at any Asian grocery store. If you can’t source them, dried Chile de Arbol peppers work well and should be available at most regular grocery stores. The peppers are there for fragrant heat, not a lot of actual heat. If you want just a hint of spice, add them whole. If you want more heat, break one open.
MSG. It goes in both the marinade and the dredge. It fills in a savory layer that salt alone doesn’t cover. If you’d rather skip it, a pinch of extra kosher salt will cover the seasoning, but you’ll notice it tastes a little flat, like something’s missing.
Baking soda. A small amount goes into the chicken marinade. It’s alkaline, so it causes a chemical reaction that makes it harder for the proteins in the meat to constrict during high-heat cooking. The result is chicken that stays tender even after two rounds of deep frying.
1. Make the egg white marinade. Beat one egg white until frothy, then whisk in the light soy sauce, Shaoxing wine, sesame oil, and vodka. Reserve 2-3 tablespoons of this mixture for seeding the dredge later. Add the cornstarch, white pepper, MSG, kosher salt, and baking soda to the remaining marinade. Whisk to combine.
2. Marinate the chicken. Toss the cut chicken thighs into the marinade and stir until every piece is coated. Let it sit for at least 15 minutes, or refrigerate for up to 8 hours. Give it a good stir before using because the cornstarch settles at the bottom.
3. Make the dredge. Whisk together the cornstarch, all-purpose flour, baking powder, kosher salt, and MSG. Add the 2-3 tablespoons of reserved marinade and work it into the dry mix with a whisk or your fingers. This is called seeding, and it creates little clumps that give you those craggy, textured bits on the finished chicken.
4. Make the sauce. Whisk together the brown sugar, cornstarch, chicken stock, light soy sauce, dark soy sauce, Shaoxing wine, white vinegar, rice vinegar, and sesame oil. Make sure the cornstarch and sugar are fully dissolved. Set aside.
5. Dredge the chicken. Remove the chicken pieces from the marinade a few at a time and coat them thoroughly in the dry dredge. Shake off the excess. You want complete coverage but not thick clumps of loose flour.
6. First fry at 350°F. Heat neutral oil (vegetable, canola, or peanut) to 350°F. Fry the chicken in two batches for about 4 minutes per batch, until cooked through. Remove to a wire rack to drain. Don’t crowd the oil or the temperature drops and you get soggy chicken.
7. Second fry at 375°F. Bump the oil temperature to 375°F. Drop all the chicken back in for 2 minutes. This second fry is what gives you the extra-crispy exterior that can actually stand up to the sauce without turning into a sponge.
8. Cook the aromatics. Heat a tablespoon of neutral oil in a pan or wok over medium heat. Add the dried chili peppers, sliced scallion whites, grated garlic, and grated ginger. Stir for 20-30 seconds until the garlic and ginger are fragrant. You’re not looking to cook these through, just wake up the flavors.
9. Finish the sauce. Give the reserved sauce mixture a whisk to re-suspend the cornstarch, then pour it into the pan with the aromatics. You’ll see it start thickening from the edges. As soon as the entire sauce thickens and starts to simmer, it’s ready.
10. Toss the chicken. Add the double-fried chicken to the sauce and toss until every piece is coated. Serve immediately. General Tso’s is at its best the second the sauce hits the crust. The longer it sits, the more crunch you lose.
Don’t skip the seeding step. Adding those 2-3 tablespoons of wet marinade into the dry dredge creates the craggy texture that separates good General Tso’s from the smooth, uniform batter you get at most takeout places. Those little clumps of flour mixture are what gives you the extra crunch.
Stir the marinade before dredging. Cornstarch settles to the bottom of the bowl fairly quickly. If you pull chicken out of the bottom of the bowl without stirring first, some pieces will be sitting in a cornstarch paste and others will barely have any coating at all.
Use a thermometer for the oil. The difference between 325°F and 375°F is the difference between a soggy crust and a crispy one. If you don’t have a deep fryer with a built-in thermostat, clip a deep-fry thermometer to the side of your pot and monitor it between batches. The temperature drops every time you add chicken.
Taste the sauce before adding the chicken. Once the sauce thickens, give it a taste. If it’s too sweet, add a splash more vinegar. If it’s too sour, add a pinch more brown sugar. That’s the easiest time to adjust it. Adjusting after the chicken goes in is harder because the coating absorbs the sauce quickly.
Serve it fast. The entire point of the double-fry is to give you a little more time before the crust softens, but it’s still a race against the sauce. Get it plated and to the table as soon as the chicken is coated. If you let it sit in the pan, the crust starts absorbing the sauce and you lose what you worked for.
General Tso’s traditionally comes with steamed broccoli. You can either blanch the florets in salted boiling water for 2-3 minutes and then shock them in ice water, or toss them in a microwave-safe bowl with 3 tablespoons of water, cover with plastic wrap, and microwave for 3-4 minutes. Either method works.
Beyond broccoli, this pairs well with steamed white rice. And if you want to go full Chinese takeout spread, here are some recipes that round out the table:
Fridge: Store the chicken and sauce separately if possible. The chicken keeps in an airtight container for 3-4 days. The sauce keeps for up to 5 days.
Freezer: You can freeze the fried chicken (without sauce) for up to 2 months. Thaw in the fridge overnight and re-crisp in a 400°F oven or air fryer for 5-8 minutes before saucing.
Reheating: The oven or air fryer is the best way to bring back the crunch. Microwave will work for the sauce and chicken together, but the crust will go soft. If you stored them separately, reheat the sauce in a pan and re-crisp the chicken in the oven, then toss together right before eating.
Pro tip from the comments: Some people do the first fry in bulk, store the par-fried chicken in the fridge for a day or two, and then just do the second fry and sauce when they’re ready to eat. This works well and cuts the active cook time on dinner night to about 10 minutes.
They’re very similar. The main differences are the dried chili peppers (General Tso’s has them, sesame chicken doesn’t) and the sesame seed garnish (sesame chicken has them, General Tso’s doesn’t). The sauce bases are nearly identical. If you want to make sesame chicken with this recipe, just leave out the dried chilis and toss with sesame seeds at the end.
You can, but the texture will be different. Breast meat is leaner and dries out faster during deep frying, which is why most takeout General Tso’s ends up tough and chewy. If you go with breast, let it sit in the marinade a bit longer so the baking soda has more time to tenderize the meat, and reduce the first fry time by about a minute.
Vodka evaporates faster than water during frying, which means less moisture hanging around in the batter. Less moisture means less gluten development, which means a crispier crust that doesn’t turn tough or chewy. You can’t taste the alcohol in the finished dish because it cooks off in the oil. If vodka isn’t an option, sparkling water is the best substitute because the carbonation creates a similar light, crispy effect.
Mildly spicy. The dried chili peppers add more aroma and fragrant warmth than actual heat. If you want it spicier, break open one or two of the peppers before adding them to the oil so the seeds release. If you want no heat at all, you can leave them out entirely, but you’ll lose some of the flavor complexity that separates General Tso’s from basic sweet fried chicken.
White distilled vinegar is the standard in most General Tso’s recipes, but it’s too sharp on its own. Unseasoned rice vinegar is milder and has a slightly sweet edge. Using both lets you get the acidity the sauce needs without it tasting like straight vinegar. It was one of the biggest differences across the 17 sauce versions I tested.
