Best Sweet and Sour Meatballs Recipe
Beef meatballs browned in a skillet and simmered in a homemade sweet and sour sauce. Serves 6 in 40 minutes; includes baking, air fryer and freezing tips.
Prep
15 min
Cook
25 min
Total
40 min
Servings
6 servings
Ingredients
Tools that make this easier
Optional — the recipe works without them.
As an Amazon Associate, I earn from qualifying purchases.
- Most useful here Cookie Scoop Set Portions the meatball mixture into uniform 1-inch balls for even cooking. Check price on Amazon
- Instant-Read Thermometer Checks the meatballs reach 160°F inside after browning. Check price on Amazon
- Nonstick Frying Pan Browns the meatballs in batches, then thickens the sweet and sour sauce. Check price on Amazon
Instructions
- 1
In a large bowl, combine ground beef, breadcrumbs, egg, finely chopped onion, minced garlic, 1 tablespoon soy sauce, 1/2 teaspoon ground ginger, salt, and pepper.
- 2
Use hands to gently mix everything together until just combined. Be careful not to overmix to avoid tough meatballs.
- 3
Roll the mixture into 1-inch balls. Should yield about 25-30 meatballs.
- 4
Use a small cookie scoop to keep them uniform for even cooking.
- 5
Heat a large skillet with 1 tablespoon olive oil over medium-high heat.
- 6
Add meatballs in a single layer, working in batches if necessary to avoid overcrowding.
- 7
Cook, turning occasionally, until browned on all sides and cooked through (8-10 minutes). Internal temperature should reach 160°F (71°C).
- 8
Remove cooked meatballs and set aside on paper towels to drain excess fat.
- 9
While meatballs cook, whisk together apple cider vinegar, granulated sugar, ketchup, 2 tablespoons soy sauce, cornstarch, water (or pineapple juice), and 1/2 teaspoon ground ginger.
- 10
Whisk until cornstarch is completely dissolved and no lumps remain.
- 11
In the same skillet (after removing meatballs and excess grease), pour in the sauce mixture.
- 12
Bring to a simmer over medium heat, stirring constantly until sauce thickens.
- 13
If adding optional vegetables, add them now and cook for 2-3 minutes until slightly softened.
- 14
Return cooked meatballs to skillet and toss gently to coat with sauce.
- 15
Simmer for 2-3 minutes to allow flavors to meld and meatballs to warm through completely.
- 16
Transfer to serving platter. Garnish with sesame seeds and chopped green onions if desired.
Used in this recipe: Cookie Scoop Set Instant-Read Thermometer Nonstick Frying Pan (Amazon, affiliate links)
Notes
Tips for Success
- Incredibly tender, flavorful homemade meatballs
- Glossy, vibrant sauce that hits all the right notes
- Perfect for crowd-pleasing parties or fuss-free weeknight dinners
- Versatile – works as appetizer or main course
- Freezes wonderfully for meal prep
Common Mistakes to Avoid
- Can become tough if meat mixture is overmixed
- Meatballs may fall apart if not enough binder or too lean meat
- Sauce can become lumpy if cornstarch not dissolved properly
- Overcrowding pan prevents proper browning
- Sauce may thicken too much if cornstarch ratio is off
Nutrition (per serving)
350-400 kcal
Calories
These sweet and sour meatballs are beef meatballs seasoned with garlic, ginger and soy, browned in a skillet and finished in a glossy sauce of apple cider vinegar, sugar, ketchup and soy sauce. The sauce is thickened with cornstarch in the same pan, so the whole dish comes together in about 40 minutes (15 minutes prep, 25 minutes cooking) and serves 6. It works as a dinner over rice or as a party appetizer.
Table of Contents
Ingredients
**For the meatballs:**
- 1 pound ground beef (80/20 lean is ideal for flavor and moisture, but 90/10 works too)
- 1/2 cup breadcrumbs (Panko or regular)
- 1 large egg
- 1/4 cup finely chopped onion (or 1 tsp onion powder if you’re in a hurry)
- 2 cloves garlic, minced
- 1 tablespoon soy sauce
- 1/2 teaspoon ground ginger
- Salt and black pepper to taste
**For the sweet and sour sauce:**
- 1/2 cup apple cider vinegar
- 1/2 cup granulated sugar
- 1/4 cup ketchup
- 2 tablespoons soy sauce
- 1 tablespoon cornstarch
- 1/2 cup water (or pineapple juice for extra flavor)
- 1/2 teaspoon ground ginger
- Optional add-ins: diced bell peppers (red, green, yellow), pineapple chunks, sliced water chestnuts
How to Make Sweet and Sour Meatballs
- Mix the meatballs. In a large bowl, combine the ground beef, breadcrumbs, egg, finely chopped onion, minced garlic, 1 tablespoon soy sauce, 1/2 teaspoon ground ginger, salt, and pepper. Use your hands to mix gently until just combined. Overmixing leads to tough meatballs.
- Roll. Roll the mixture into 1-inch balls. You should get about 25-30 meatballs. A small cookie scoop helps keep them uniform so they cook evenly.
- Brown. Heat a large skillet or non-stick pan over medium-high heat with a tablespoon of olive oil. Add the meatballs in a single layer, working in batches if necessary to avoid overcrowding. Cook, turning occasionally, until browned on all sides and cooked through, about 8-10 minutes. The internal temperature should reach 160°F (71°C). Move them to a paper-towel-lined plate to drain excess fat.
- Whisk the sauce. While the meatballs cook, whisk together the apple cider vinegar, granulated sugar, ketchup, 2 tablespoons soy sauce, cornstarch, water (or pineapple juice), and 1/2 teaspoon ground ginger in a medium bowl until the cornstarch is completely dissolved and no lumps remain.
- Simmer the sauce. In the same skillet, after removing the meatballs and pouring out excess grease (leave a little for flavor), pour in the sauce. Bring it to a simmer over medium heat, stirring constantly, until it thickens. If you are adding bell peppers, pineapple or water chestnuts, add them now and cook for 2-3 minutes until slightly softened.
- Combine. When the sauce has thickened, return the meatballs to the skillet and toss gently to coat. Simmer for another 2-3 minutes so the flavors meld and the meatballs warm through.
- Serve. Transfer to a platter and garnish with sesame seeds and chopped green onions if you like.
Fixing Tough Meatballs, Runny Sauce and Lumpy Cornstarch
- **Tough, dense meatballs:** the meat was overworked. Mix only until combined. A tablespoon of milk or water in the mixture can help next time.
- **Meatballs falling apart:** too little binder or very lean meat. Check the egg and breadcrumb amounts, and if the meat is very lean add a tablespoon of olive oil or a little finely grated carrot or zucchini.
- **Meatballs steaming instead of browning:** the pan is overcrowded, which lowers its temperature. Cook in batches.
- **Raw centers:** don’t judge by looking. Check the center with a thermometer for 160°F, since ground beef should reach that temperature.
- **Lumpy sauce:** the cornstarch was not fully dissolved in the cold liquid before it hit the heat. Whisk it smooth first.
- **Sauce too thin:** whisk 1 tablespoon of cornstarch with 2 tablespoons of cold water until smooth, stir it into the simmering sauce, and cook another 1-2 minutes.
- **Sauce too thick:** cornstarch thickens more as it cools, so stop while the sauce is glossy but still pourable. Whisk in a tablespoon or two of water, broth or pineapple juice to loosen it.
- **Balance:** taste the sauce before adding the meatballs. If it is too sweet, add a splash more vinegar or soy sauce; if too sour, a pinch more sugar or a little honey; if bland, more soy sauce or ginger.
Swaps: Meat, Breadcrumbs, Vinegar and Heat
- **Ground pork, turkey or a beef-pork mix** replace the beef for a different flavor. Lean turkey can dry out, so add a tablespoon of olive oil or a little shredded zucchini to keep the meatballs moist.
- **Gluten-free:** use gluten-free breadcrumbs and gluten-free soy sauce or tamari, and check the labels on the other ingredients.
- **White vinegar** works in a pinch, but apple cider vinegar gives a slightly fruitier, milder sour note.
- **Less sugar:** reduce the sugar a little or use honey or maple syrup. Expect the flavor to move away from the classic sauce.
- **More heat:** replace part of the ketchup with sriracha or sambal oelek.
- **Vegetables in the sauce:** bell peppers, pineapple and water chestnuts go in once the sauce starts to thicken; simmer 3-5 minutes for tender-crisp. Broccoli florets, snap peas or shredded cabbage can go in for the last few minutes.
Baking or Air Frying the Meatballs Instead
For less fat and less cleanup, arrange the raw meatballs on a parchment-lined baking sheet and bake at 400°F (200°C) for 15-20 minutes, or until cooked through to 160°F. In an air fryer, cook at 375°F (190°C) for 12-15 minutes, shaking the basket halfway, until cooked through and browned. Then toss them in the sauce as in the main method.
Make Ahead, Store and Freeze Sweet and Sour Meatballs
You can mix and roll the meatballs up to 24 hours ahead and keep them covered in the fridge. The sauce also keeps a day or two in an airtight container. You can use pre-cooked frozen meatballs to save time if you thaw them first.
Refrigerate leftovers within 2 hours, in an airtight container, for 3-4 days. Freeze the cooked meatballs in sauce for up to 3 months, and thaw overnight in the fridge. Raw rolled meatballs can also be frozen on a parchment-lined sheet until solid, then bagged and cooked from frozen with a few extra minutes of cooking.
Reheat gently in a skillet over medium-low heat with a splash of water or broth if the sauce is thick, in the microwave, stirring halfway, or in a covered dish at 300°F (150°C) for 15-20 minutes. Heat until steaming hot, to 165°F.
What to Serve With Sweet and Sour Meatballs
Serve the meatballs over white or brown rice to soak up the sauce, with steamed broccoli or a green salad. They also work tossed with lo mein or rice noodles, or piled on small slider buns with a little coleslaw. For a platter, serve them with toothpicks. If you like this style of saucy ground beef, the ground beef bulgogi bowls and Mongolian beef noodles use similar soy-and-garlic flavors. For a lighter meatball dinner, try the one-pan Mediterranean chicken meatballs.
Sweet and Sour Meatballs FAQ
Can I make them ahead of time?
Yes. Roll the meatballs a day ahead and keep them covered in the fridge, and make the sauce ahead as well. Cooked meatballs in sauce keep 3-4 days in the fridge or up to 3 months frozen.
How can I make the dish gluten-free?
Use gluten-free breadcrumbs and gluten-free soy sauce or tamari. The other sauce ingredients are typically gluten-free, but check labels.






