
These absolutely stunning Sweet and Sour Meatballs are the ultimate crowd-pleaser that’ll have everyone asking for your recipe! With tender, juicy meatballs coated in a glossy, vibrant sweet and sour sauce, this classic dish is both elegant enough for entertaining and simple enough for weeknight dinners.
I’m absolutely obsessed with how easy these are to make, yet they taste like you’ve been slaving away in the kitchen for hours. The secret is in balancing that perfect sweet and sour flavor profile—not too cloying, not too sharp, but absolutely divine. These meatballs are perfect served over rice, nestled into egg noodles, or even spooned over creamy pasta for a fun twist.
What I absolutely love about this recipe is its versatility. You can make the meatballs ahead of time and store them in the freezer, then simply reheat them with the sauce when you’re ready to serve. It’s perfect for meal prep, potlucks, or those nights when you need dinner on the table faster than you can say “takeout.” The sauce comes together in minutes, and before you know it, you’ve got a restaurant-quality dish that tastes like it came straight from your favorite Asian fusion restaurant.
The combination of fresh pineapple juice, apple cider vinegar, and a touch of soy sauce creates this magical flavor that’s both comforting and exciting. Add in some crispy bell peppers and onions, and you’ve got yourself a complete meal that’s absolutely irresistible. Serve these alongside some elegant pasta or fluffy white rice, and you’ll feel like you’re dining at a five-star restaurant.
I’ve tested this recipe dozens of times, tweaking and perfecting every element to bring you the very best version. The meatballs stay tender and juicy thanks to a combination of ground beef and pork, breadcrumbs, and egg, while the sauce achieves that perfect gloss and flavor balance. Whether you’re cooking for a special occasion or just want to elevate your weeknight dinner, these Sweet and Sour Meatballs are absolutely the way to go.
For a lighter version, you could also try making these with plant-based ingredients, though the traditional meat version is what I reach for time and time again. The beauty of this recipe is that it adapts beautifully to your preferences and dietary needs. Serve with pickled red onions for extra brightness, or keep it classic—either way, you’re in for a treat.
For more inspiration on sauce-based dishes, check out Bon Appétit’s meatball collection, or explore Serious Eats’ comprehensive meatball guide. You might also enjoy New York Times’ take on meatballs for even more inspiration. The world of meatballs is vast and wonderful, and once you master this sweet and sour version, you’ll be experimenting with flavors all the time!
Ingredients
- 1 pound ground beef
- ½ pound ground pork
- ½ cup panko breadcrumbs
- ¼ cup whole milk
- 1 large egg
- 3 cloves garlic, minced
- 2 tablespoons soy sauce, divided
- ½ teaspoon black pepper
- ½ teaspoon salt
- 2 tablespoons vegetable oil
- 1 red bell pepper, cut into 1-inch chunks
- 1 yellow or orange bell pepper, cut into 1-inch chunks
- 1 medium yellow onion, cut into 1-inch chunks
- 1 cup fresh pineapple juice
- ⅓ cup apple cider vinegar
- ⅓ cup ketchup
- ¼ cup granulated sugar
- 2 tablespoons cornstarch
- 3 tablespoons water
- 1 teaspoon fresh ginger, minced
- ½ teaspoon sesame oil
- Fresh pineapple chunks for serving (optional)
- Green onions, sliced for garnish
- Sesame seeds for garnish

Instructions
- In a large mixing bowl, combine the ground beef, ground pork, panko breadcrumbs, whole milk, egg, minced garlic, 1 tablespoon of soy sauce, black pepper, and salt. Mix gently with your hands until just combined—don’t overmix or your meatballs will become tough and dense.
- Using a cookie scoop or your hands, roll the mixture into balls about 1½ inches in diameter. You should have approximately 24-28 meatballs. Place them on a parchment-lined baking sheet.
- Heat 2 tablespoons of vegetable oil in a large skillet or Dutch oven over medium-high heat. Working in batches to avoid overcrowding, brown the meatballs on all sides, about 8-10 minutes total per batch. They don’t need to be cooked through at this point—just nicely browned on the outside.
- Once all the meatballs are browned, set them aside on a clean plate. In the same skillet, add the red bell pepper, yellow bell pepper, and yellow onion chunks. Sauté for 3-4 minutes until they begin to soften slightly but still have some crunch.
- In a medium bowl, whisk together the pineapple juice, apple cider vinegar, ketchup, granulated sugar, remaining 1 tablespoon of soy sauce, minced fresh ginger, and sesame oil until the sugar is dissolved and everything is well combined.
- Pour the sweet and sour sauce over the vegetables in the skillet. Stir well to combine. Return all the meatballs to the skillet, nestling them into the sauce among the vegetables.
- Bring the mixture to a gentle simmer over medium heat. Allow it to simmer for 8-10 minutes, stirring occasionally, until the meatballs are cooked through and the sauce begins to thicken slightly.
- In a small bowl, create a slurry by whisking together the cornstarch and water until smooth with no lumps. Pour this mixture into the simmering sauce while stirring constantly.
- Continue to stir for 1-2 minutes until the sauce thickens to a glossy, beautiful consistency that coats the meatballs and vegetables beautifully. The sauce should coat the back of a spoon.
- Taste the sauce and adjust the seasoning as needed. Add more soy sauce for saltiness, more vinegar for tang, or more sugar for sweetness based on your preferences.
- Serve the sweet and sour meatballs over steamed white rice, brown rice, or egg noodles. Garnish generously with sliced green onions and sesame seeds. Add fresh pineapple chunks if desired for extra tropical flavor and beautiful presentation.

Pro Tips
- Make-Ahead Magic: You can prepare the meatballs up to 2 days in advance and store them in an airtight container in the refrigerator. You can also freeze the uncooked meatballs for up to 3 months—simply add a few extra minutes to the cooking time when browning from frozen.
- Sauce Consistency: If your sauce seems too thin after simmering, make another cornstarch slurry and add it gradually until you reach your desired consistency. If it’s too thick, simply whisk in a bit more pineapple juice or water.
- Protein Variations: You can substitute ground turkey or chicken for a leaner option, or use all ground beef if you prefer. Ground lamb also creates an interesting flavor variation.
- Vegetable Swaps: Feel free to use whatever vegetables you have on hand. Snap peas, carrots, pineapple chunks, and water chestnuts all work beautifully in this dish. Cut everything to similar sizes for even cooking.
- Fresh Pineapple vs. Canned: While fresh pineapple juice creates the most vibrant flavor, canned pineapple juice works perfectly well if that’s what you have available. Just make sure it’s 100% juice with no added sugar.
- Serving Suggestions: These meatballs are excellent served over rice, noodles, or even spooned into small phyllo cups for appetizers. They’re also delicious served at room temperature as party appetizers.
- Storage and Reheating: Store leftovers in an airtight container in the refrigerator for up to 4 days. Reheat gently on the stovetop over medium-low heat, or in a 350°F oven covered with foil for about 15 minutes until warmed through.
- Spice Level: Add a touch of red pepper flakes or sriracha to the sauce if you prefer more heat. You can also serve with a drizzle of hot sauce on the side for guests to customize their spice level.
- Sesame Oil Note: Don’t skip the sesame oil—it adds an authentic depth of flavor that’s absolutely essential to the final dish. A little goes a long way, so don’t overdo it.
- Perfect for Parties: This recipe doubles beautifully and can be made in a slow cooker. Simply brown the meatballs, combine everything in a slow cooker, and cook on low for 4-6 hours or high for 2-3 hours.
