Juicy, saucy, sweet and sour chicken meatballs that take less time to make than it would take your takeout to arrive! Form your meatballs, pop them into the air fryer (or oven), then make that iconic, glossy, sweet and sour sauce while they cook. A speedy, easy meal for any day of the week.

Growing up, sweet and sour was my absolute FAVORITE takeout dish. That sticky, glossy sauce just hits all the right notes, and it’s super nostalgic. And I know sweet and sour is a super popular takeout dish for so many.
This lovely, juicy chicken meatball version is a fun twist on the classic.
- You can bake, pan-fry, or air fry the meatballs – I prefer either baking or air frying them just so I can forget about them while prepping the rest of the ingredients.
- And while I have been an air fryer skeptic for a long time, there is no denying that it makes this recipe quicker to make.
- This sweet and sour sauce hits all those sticky, glossy, nostalgic notes without being overly sugary, sweet, and cloying, which is what I really wanted to avoid.
While the meatballs are brilliant served over steamed rice for a fun better-than-takeout night in, they’re also fab as little party bites with the sweet and sour sauce on the side.
Sooo good. Didn’t have pineapple so used apricot. Worked great. Instead of rice we had mashed parsnip and potato. Huɓby and I loved it.
Ingredients You’ll Need

- Ground chicken. You could use ground turkey, pork, beef, or a plant-based alternative if you prefer. Or if you can’t find ground chicken, you can blitz 1 lb (500g) of skinless, boneless chicken thighs in a food processor to make DIY ground chicken.
- Pineapple. I’m using canned pineapple here – both because we’ll use the juice in the sauce and because it’s easily available year-round – but you can use fresh pineapple if you like. With canned, look for pineapple in juice, rather than syrup (syrup will be too sweet).
- Fish sauce. This brings a gorgeous, deep umami flavor that salt alone can’t replicate, so I really recommend giving it a go. I promise it won’t make things taste fishy! If you really don’t want to use it, use a little more light soy sauce.
- Egg. This helps to bind the meatballs and keep them moist – but you can use 1/2 cup ricotta cheese instead if you prefer.
How to Make Sweet and Sour Chicken Meatballs
This is a step-by-step photo overview of how to make the meatballs – the full recipe with ingredient quantities and instructions is at the bottom of the page for you.

- Add all the ingredients for your meatballs to a bowl, and mix well to combine.

- Roll heaped tablespoons of the mixture into meatballs. Using wet hands to do this will prevent any sticking.

- Cook the meatballs in the oven or air fryer until golden.

- Mix the ingredients for your sweet and sour sauce in a separate small bowl. Pan-fry the bell peppers, garlic, and scallions. Add the sauce and mix until it bubbles up and becomes super glossy.

- Add the meatballs into the sauce, along with the pineapple. Toss to coat the meatballs in the sauce.

- Serve the saucy meatballs over fluffy steamed rice (or pair them with air fryer fried rice for a better-than-takeout night in).
Kate’s Top Meatball Tip
If you want to check the seasoning, pan-fry a little of the mixture before you form the meatballs and taste it first.
That way, you can adjust the seasoning if needed before forming the meatballs.
Watch How to Make the Meatballs
Sweet and Sour Meatballs FAQs
There are a couple of ways you can do this:
– You can mix the meatballs, roll them, and pop them in a covered container in the fridge for up to 3 days before cooking them (if you’re stacking them, you’ll want to pop a piece of parchment paper in between the layers so they don’t stick together).
– You can also make the meatball mixture and pop it into a covered container in the fridge for up to 3 days, then roll the meatballs and cook them when you’re ready to serve.
– Or, freeze the cooked (or uncooked) meatballs and then either cook them straight from frozen in the oven or air fryer, or you can defrost them overnight in the fridge before using them. To freeze, I recommend arranging them on a parchment paper-lined tray and popping that into the freezer, then once they’re frozen, transfer them to ziplock bags. This way, they won’t stick together and become one very large meatball in the freezer!
They’ll keep well for at least 3 to 4 days in the fridge. It’s easiest to reheat them in the microwave until piping hot.
Over steamed rice is the classic choice (and it’s what I suggest in the full recipe below), but you can serve them in SO many ways.
Toss them through noodles, spoon them over crispy roasted potatoes, pair them with air fryer fried rice, serve them in lettuce cups, or you can serve them as little party bites, with the sweet and sour sauce on the side for dipping.
If you do make them as party bites, I recommend skipping the bell peppers and pineapple and just cooking the sauce by itself. That will make them much easier to serve and eat.
Like these meatballs? Try these better-than-takeout ideas next
If you make this recipe, I’d love to hear from you! You can leave a recipe rating and a comment below. And remember to tag @DishedByKate on Instagram, Facebook and TikTok if you’ve made one of my recipes. Seeing your recreations really makes my day 😊.
Print
Sticky Sweet and Sour Chicken Meatballs (In 30 Minutes)
- Total Time: 30 minutes
- Yield: 4 servings 1x
- Diet: Low Calorie
Description
Juicy, saucy, sweet and sour chicken meatballs that take less time to make than it would take your takeout to arrive! Form your meatballs, pop them into the air fryer (or oven), then make that iconic, glossy, sweet and sour sauce while they cook. A speedy, easy meal for any day of the week.
Serve over steamed rice (or air fryer fried rice), or they’re fab as party bites.
Ingredients
For the rice (optional) –
- 1 cup of long-grain white rice (like basmati or jasmine)
- 1 1/2 cups of water
For the meatballs –
- 1 lb (500g) ground chicken
- 2 scallions, finely chopped
- 1-inch piece of ginger, grated
- 2 garlic cloves, crushed
- 1/2 teaspoon salt
- 2 teaspoons fish sauce
- 1 teaspoon sesame oil
- 1/2 cup panko breadcrumbs
- 1 egg
- Black pepper
For the sweet and sour sauce –
- 1 tablespoon cornstarch
- 1/4 cup water
- 1/2 cup pineapple juice (from the can is fine)
- 1/4 cup rice wine vinegar (or white wine vinegar or apple cider vinegar)
- 1/3 cup honey
- 1/4 cup tomato ketchup
- 2 tablespoons light soy sauce
- 1 teaspoon fish sauce
For the stir fry –
- 1 red bell pepper, sliced
- 1 green bell pepper, sliced
- 1/2 cup canned pineapple, drained
- 2 garlic cloves, crushed
- 2 scallions, sliced, white and green parts separated
- Sesame seeds, to garnish
- A handful of cilantro leaves, to garnish
Instructions
- Make the rice (optional, to serve). Add 1 cup of long-grain rice to a pot you (ideally) have a lid for. Pour in 1 1/2 cups of cold water and set over high heat. When you see the top of the water looking foamy and a little bubbly, pop the lid on (or use a plate/wooden board if you don’t have a lid), lower the heat right down, and leave it for 12 minutes. After this time, remove the pot from the heat (keep the lid on) and set aside to finish steaming for another 10 minutes.
- Mix the meatballs. Add the ground chicken, 2 chopped scallions, grated ginger, crushed garlic, 1/2 teaspoon of salt, 2 teaspoons of fish sauce, 1 teaspoon of sesame oil, 1/2 cup of panko breadcrumbs, 1 egg, and a good grind of black pepper to a mixing bowl. Mix well to combine.
- Form the meatballs. If you’re using the oven, heat it to 425°F (220°C fan) and line an oven tray with parchment paper. With slightly wet hands, scoop a heaped tablespoon of the meatball mixture into your hands and roll it into a ball. Place on the prepared tray, and continue with the rest of the mixture. If you’re using your air fryer, you can place the meatballs directly into your air fryer basket.
- Cook the meatballs. If you’re using your oven, bake the meatballs for 20 minutes, or air fry them at 400°F (200°C) for 10 minutes, giving them a shake halfway through the cooking time, until golden.
- Mix the sauce. Add 1 tablespoon of cornstarch to a bowl, then mix with 1/4 cup of water until smooth. Add 1/2 cup of pineapple juice, 1/4 cup of rice wine vinegar, 1/3 cup of honey, 1/4 cup of tomato ketchup, 2 tablespoons of soy sauce, and 1 teaspoon of fish sauce, and mix to combine. Set aside for now.
- Make the stir-fry. Heat 1 tablespoon of oil in a large high-sided pan or skillet. Add the chopped bell peppers and scallions and cook, stirring, for about five minutes, until starting to soften. At this point, add the crushed garlic and toss through.
- Add the sauce and meatballs. Give the sauce a mix (to make sure the cornstarch hasn’t settled at the bottom of the bowl) and pour it into the pan. Stir until it’s bubbling, thick and glossy, then add the meatballs and the pineapple. Toss everything through the sauce, then scatter with the sesame seeds, the green parts of the scallions, and cilantro. Serve while hot over the steamed rice if you like.
Notes
INGREDIENT NOTES: You could use ground turkey, pork, beef or a plant-based alternative in place of the chicken if you like. Swap the egg for 1/2 cup ricotta cheese if they’re hard to come by. Use ginger and garlic paste instead of fresh if you like – fresh will give you the best flavor but those will work if needed. Gluten-free panko works well as a gluten-free option. If you don’t want to use fish sauce (I promise it won’t make it taste fishy!), use a little more light soy sauce or you could use a vegetarian fish sauce (which tends to be made with mushrooms).
SERVING SUGGESTIONS: While these are lovely served over steamed rice, they’re also FAB as little party bites, or served with air fryer fried rice. If you serve them as party bites, I recommend skipping the bell peppers and pineapple and just cooking the sauce by itself. You can serve the meatballs with the sauce on the side for dipping, or coat them in the sauce first. It’s up to you!
PREP AHEAD: You can mix the meatballs, roll them, and pop them in a covered container in the fridge for up to 3 days before cooking them (if you’re stacking them, you’ll want to pop a piece of parchment paper in between the layers so they don’t stick together). You can also make the meatball mixture and pop it into a covered container in the fridge for up to 3 days, then roll the meatballs and cook them when you’re ready to serve.
FREEZING INSTRUCTIONS: Freeze the cooked (or uncooked) meatballs and then either cook them straight from frozen in the oven or air fryer, or you can defrost them overnight in the fridge before using them. I recommend arranging them on a parchment paper-lined tray and popping that into the freezer, then once they’re frozen, transfer them to ziplock bags. This way, they won’t stick together and become one very large meatball in the freezer!
- Prep Time: 10
- Cook Time: 20
- Category: fakeaways
- Method: stove top
- Cuisine: asian
Nutrition
- Serving Size: 200g
- Calories: 420
- Sugar: 22g
- Sodium: 950mg
- Fat: 17g
- Saturated Fat: 4g
- Unsaturated Fat: 13g
- Trans Fat: 0g
- Carbohydrates: 33g
- Fiber: 2g
- Protein: 30g
- Cholesterol: 110mg








LOVE!!! So easy and a fun twist on sweet and sour chicken.
Sooo good. Didn’t have pineapple so used apricot. Worked great. Instead of rice we had mashed parsnip and potato. Huษby and I loved it.