This post may contain affiliate links. Please read our disclosure policy.
These Sweet and Sour Meatballs are made with tender, juicy chicken meatballs, bell peppers, onions, and pineapple chunks tossed in a homemade sweet-and-sour sauce. The sauce has the perfect balance of sweet and tangy flavors, and it’s so good served over a bowl of rice!

I make the meatballs from scratch using ground chicken, simple seasonings, and panko breadcrumbs to keep them tender. The sauce is made with pineapple juice, tomato sauce, honey, and rice vinegar, so you don’t need bottled sweet-and-sour sauce. It’s an easy, flavorful dinner that the whole family can enjoy.
This dish works so well if you like to meal prep. I love it as much as the honey garlic chicken meal prep, which has been a favorite for a while now.
Recipe Overview
Key Ingredients
You’ll find the full ingredient list and measurements in the recipe card below.

- Ground chicken: I use ground chicken for the meatballs, but ground turkey works just as well.
- Panko breadcrumbs: Help keep the meatballs tender and hold everything together.
- Bell peppers and onion: Add sweetness, flavor, and a little crunch. Use any color bell peppers you have on hand.
- Pineapple chunks: Canned pineapple works perfectly. Make sure to save ½ cup of the juice for the sauce.
- Tomato sauce: Gives the sweet and sour sauce a smooth texture.
- Rice vinegar and honey: Give the sauce that delicious balance of sweet and tangy flavors.
- Soy sauce: Adds a savory flavor to both the meatballs and sauce. I prefer low-sodium soy sauce.
How to make Sweet and Sour Meatballs
Make the meatball mixture: In a large bowl, combine the ground chicken, panko breadcrumbs, egg, soy sauce, sesame oil, garlic powder, onion powder, ground ginger, salt, and pepper. Mix gently until everything is just combined.
Shape and cook the meatballs: Using a cookie scoop or slightly damp hands, shape the mixture into about 20 evenly sized meatballs. Heat the oil in a large skillet over medium heat. Add the meatballs and cook for 10 to 12 minutes, turning occasionally, until golden on all sides. Transfer them to a plate.
The meatballs don’t need to be fully cooked yet because they’ll finish cooking in the sauce.

Cook the vegetables: Add the onion and bell peppers to the same skillet. Cook for 4 to 5 minutes, stirring occasionally, until slightly softened.
Make the sweet and sour sauce: In a bowl, whisk together the pineapple juice, tomato sauce, rice vinegar, honey, soy sauce, garlic, and sesame oil. Pour the sauce into the skillet and simmer it.
Thicken the sauce: In a small bowl, whisk the cornstarch and cold water until smooth. Slowly pour it into the sauce, stirring continuously. Cook for 1 to 2 minutes, until the sauce is slightly thickened.

Combine everything: Return the meatballs to the skillet along with the pineapple chunks. Toss everything in the sauce, then cover and simmer over medium-low heat for another 3 to 4 minutes, or until the meatballs reach an internal temperature of 165°F. Remove from the heat and stir in the sliced green onions.
Serve the meatballs over jasmine or brown rice. Sprinkle with sesame seeds, extra green onions, and fresh cilantro, if you prefer.

Tips for the best sweet and sour meatballs
- Don’t overmix the meatballs: Mix the ground chicken just until the ingredients are combined. Overmixing can make the meatballs tough and dense.
- Use damp hands: Ground chicken can be sticky. Lightly wetting your hands makes it much easier to roll the meatballs without the mixture sticking to your fingers.
- Keep the meatballs the same size: A cookie scoop helps portion them evenly, so they cook at about the same rate.
- Don’t overcrowd the skillet: If your skillet isn’t large enough, cook the meatballs in two batches. This helps them brown instead of steam.
- Keep the vegetables slightly crisp: The bell peppers and onions will continue cooking once you add the sauce, so don’t soften them too much at the beginning.
- Mix the cornstarch with cold water. Never add cornstarch directly to the hot sauce. Mixing it with cold water first helps prevent lumps.
- Taste the sauce before adding the meatballs: Pineapple juice and honey can vary in sweetness. If it’s too sweet, add a little more vinegar or soy sauce; if it’s too tangy, add a little more honey.
- Check the meatballs with a thermometer: Ground chicken needs to reach an internal temperature of 165°F. The final simmering time may vary depending on the size of your meatballs.
Common Questions
Yes! You can bake the meatballs at 400°F on a sheet pan lined with parchment paper for approximately 18 to 22 minutes, depending on their size, until they reach an internal temperature of 165°F. Then toss them in with the sweet and sour sauce. I recommend you check for doneness with a thermometer.
Absolutely! Use fully cooked frozen chicken, turkey, or beef meatballs to save time. Heat them according to the package instructions, then add them to the skillet with the vegetables, pineapple, and homemade sauce.
The egg and panko breadcrumbs help bind the meatballs together. Make sure you mix everything evenly, shape them gently, and let them brown before turning them over. If the mixture feels very soft, refrigerate the shaped meatballs for about 15 to 20 minutes before cooking.
Yes! You can prepare the meatballs and sauce ahead of time. Store them separately in the refrigerator, then warm them together in a skillet when you’re ready to serve. You may need to add a splash of water if the sauce got too thick.
I used a mixture of cornstarch and cold water to thicken the sauce in this recipe. Once you stir it into the simmering sauce, it should thicken up within a minute or two. If the sauce gets too thick, stir in a splash of water or pineapple juice.

Substitutions and variations
Use ground turkey: Ground turkey works well as a substitute for ground chicken. Follow the same method and cook the meatballs until they reach 165°F.
Make it gluten-free: Use gluten-free panko breadcrumbs and substitute tamari for the soy sauce. Check the labels on your other ingredients to make sure they’re gluten-free.
Add more vegetables: Broccoli florets, snap peas, or zucchini are all great additions. Add them when cooking the bell peppers and adjust the cooking time as needed.
Make it spicy: Add a pinch of crushed red pepper flakes or a little sriracha to the sauce for some added heat.
Use fresh pineapple: Fresh pineapple chunks can work, but you’ll still need pineapple juice for the sauce. I recommend canned pineapple because it’s convenient and gives you both the fruit and juice in one can. Bottled juice is fine too.
How to store and reheat leftovers
- Fridge: Store leftovers in an airtight container in the fridge for up to 3 to 4 days.
- Reheating: Warm the meatballs and sauce in a covered skillet over medium-low heat until heated through. Add a splash of water if the sauce has thickened too much. You can also reheat individual portions in the microwave.
- Freezer: Let the meatballs cool, then transfer them with the sauce to a freezer-safe container. Freeze for up to 3 months for best quality. The bell peppers may soften a little after thawing.
- To thaw: Place the frozen meatballs in the fridge to thaw overnight, then reheat until thoroughly heated.

What to serve with sweet and sour meatballs
I love serving these chicken meatballs over jasmine or brown rice so none of that delicious sweet-and-sour sauce goes to waste.
You can also serve them with cauliflower rice, fried rice, or simple steamed vegetables. Air-fried broccoli, sautéed green beans, and snap peas are all great options.
More Meatball Recipes
- Crockpot Swedish Meatballs
- Chicken Piccata Meatballs
- Greek Turkey Meatballs
- Grape Jelly Chicken Meatballs
- Greek Chicken Meatballs
Thanks so much for being here and cooking along with me. If you try this recipe, I’d love to hear how it turned out. Leave a comment and a ⭐️ rating below.
Sweet and Sour Meatballs

Ingredients
Chicken Meatballs
- 1½ pounds ground chicken
- ½ cup panko breadcrumbs
- 1 large egg
- 1 tablespoon low-sodium soy sauce
- 1 teaspoon sesame oil
- ½ teaspoon garlic powder
- ½ teaspoon onion powder
- 1 teaspoon ground ginger
- ½ teaspoon fine sea salt
- ¼ teaspoon black pepper
- 1 tablespoon avocado or olive oil, for cooking
Vegetables
- 1 large sweet onion, cut into 1-inch pieces
- 1 red bell pepper, cut into 1-inch pieces
- 1 yellow or orange bell pepper, cut into 1-inch pieces
- 1½ cups canned pineapple chunks, drained
- 3 green onions, thinly sliced
Homemade Sweet and Sour Sauce
- ½ cup reserved pineapple juice from the can
- ½ cup tomato sauce
- ¼ cup rice vinegar
- 3 tablespoons honey
- 2 tablespoons low-sodium soy sauce
- 1 garlic clove, finely grated
- 1 teaspoon sesame oil
- 1 tablespoon cornstarch
- 2 tablespoons cold water
For Serving
- cooked jasmine or brown rice
- Thinly sliced green onions
- Sesame seeds
- Fresh cilantro, optional
Instructions
- In a large bowl, combine the 1½ pounds ground chicken, ½ cup panko breadcrumbs, 1 large egg, 1 tablespoon low-sodium soy sauce, 1 teaspoon sesame oil, ½ teaspoon garlic powder, ½ teaspoon onion powder, 1 teaspoon ground ginger, ½ teaspoon fine sea salt, and ¼ teaspoon black pepper. Mix gently until just combined.

- Using a cookie scoop or slightly damp hands, shape the mixture into about 20 evenly sized meatballs.

- Heat the 1 tablespoon avocado or olive oil in a large skillet over medium heat. Add the meatballs and cook for 10 to 12 minutes, turning occasionally, until golden on all sides. Transfer to a plate. They will finish cooking in the sauce.

- Add the 1 large sweet onion1 red bell pepper, and 1 yellow or orange bell pepper to the same skillet. Cook for 4 to 5 minutes, stirring occasionally, until slightly softened but still crisp.

- Meanwhile, whisk together the ½ cup reserved pineapple juice from the can, ½ cup tomato sauce, ¼ cup rice vinegar, 3 tablespoons honey, 2 tablespoons low-sodium soy sauce, 1 garlic clove, and 1 teaspoon sesame oil.
- Pour the sauce into the skillet and bring to a gentle simmer, scraping up any browned bits from the bottom.
- In a small bowl, whisk the 1 tablespoon cornstarch and 2 tablespoons cold water until smooth. Slowly stir the mixture into the simmering sauce. Cook for 1 to 2 minutes, until glossy and lightly thickened.
- Return the meatballs to the skillet along with the 1½ cups canned pineapple chunks. Gently toss until everything is coated in the sauce.

- Cover and simmer over medium-low heat for another 3 to 4 minutes, or until the meatballs reach an internal temperature of 165°F.
- Remove from the heat and stir in the 3 green onions. Serve over warm cooked jasmine or brown rice and garnish with Sesame seeds, extra Thinly sliced green onions, and Fresh cilantro, if desired.

Notes
- Servings: Makes about 20 meatballs (about 4 meatballs per serving)
- Use a cookie scoop to make evenly sized meatballs. This helps them cook evenly.
- Avoid over-mixing the ground chicken, which can make the meatballs dense.
- Lightly wet your hands before shaping the meatballs to prevent sticking.
- Don’t overcrowd the skillet. Cook the meatballs in batches if needed.
- Reserve ½ cup of pineapple juice from the can before draining the pineapple.
- Adjust the sweetness and tanginess of the sauce to taste by adding a little more honey or rice vinegar.
- Mix the cornstarch with cold water before adding it to the hot sauce to prevent lumps.
- Cook the chicken meatballs until they reach an internal temperature of 165°F.
- Store leftovers in the refrigerator for up to 3 to 4 days or freeze for up to 3 months for best quality.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.






