
Stovetop Sweet and Sour Meatballs with Pineapple and Peppers
Tender, juicy beef meatballs are browned in a skillet, then simmered in a glossy sweet-tangy sauce of pineapple juice, brown sugar, and vinegar with bell peppers and juicy pineapple chunks. Serve over steamed rice for an easy weeknight dinner.
- Prep
- 25 min
- Cook
- 35 min
- Wait
- 5 min
- Total
- 1 hr 5 min
- Makes
- About 30 meatballs (6 servings)
Steps
Before you start
- Open the canned pineapple and drain it over a bowl, keeping the juice. You need 3/4 cup (180 ml) of juice; top up with water if the can gives less.
- Use 80/20 ground beef for the juiciest meatballs. Very lean beef makes them dry.
- Have a 12-inch (30 cm) deep skillet with a lid ready. Everything needs to fit in one pan.
- Cook any rice you plan to serve while the meatballs simmer.
Prep the vegetables
- Cut the onion and both bell peppers into 1-inch (2.5 cm) pieces and set them aside together.
- Drain the pineapple chunks over a bowl and measure out 3/4 cup (180 ml) of the juice.
- Mince the garlic and grate the ginger, if using.
+ Show details− Hide details
Ready when: Vegetable pieces are roughly the same size so they cook evenly.
Tip: Keep the pineapple chunks aside. They go in at the end so they stay plump.
Whisk the sauce
- In a medium bowl, whisk the reserved pineapple juice, vinegar, brown sugar, ketchup, 1 tablespoon soy sauce, and the ginger if using.
- In a small separate bowl, stir the cornstarch into the cold water until smooth.
- Set both aside.
+ Show details− Hide details
Ready when: Brown sugar is mostly dissolved and the cornstarch slurry looks milky with no lumps.
Tip: Do not add the cornstarch to the sauce yet. It will clump if it sits in the hot or acidic liquid.
Mix the meatballs
- In a large bowl, stir the panko and milk together and let sit 2 minutes to form a paste.
- Add the egg, minced garlic, 1 tablespoon soy sauce, salt, and pepper and mix.
- Add the cold ground beef and mix gently with your hands for about 30 seconds, only until everything is evenly combined.
+ Show details− Hide details
Ready when: No streaks of egg or dry panko remain, and the mixture looks just combined, not pasty.
Tip: Overmixing makes tough, rubbery meatballs.
Shape the meatballs
- Line a baking sheet with parchment or use a large plate.
- Scoop about 1 heaping tablespoon (about 22 g) of the mixture at a time and roll into a smooth 1¼-inch (3 cm) ball.
- You should get about 30 meatballs.
+ Show details− Hide details
Ready when: Balls are uniform in size so they cook at the same rate.
Tip: Dampen your hands with water if the mixture sticks.
Brown the meatballs
- Heat the oil in the 12-inch (30 cm) skillet over medium-high heat until it shimmers.
- Add half the meatballs in a single layer with space between them.
- Brown for 5 to 6 minutes, turning every minute or so, until deeply golden on most sides.
- Move to a clean plate and repeat with the remaining meatballs.
- They do not need to be cooked through.
- Leave the drippings in the pan.
+ Show details− Hide details
Ready when: Meatballs are deeply golden brown and hold their shape when turned.
Tip: Don't crowd the pan. Overcrowded meatballs steam and turn grey instead of browning.
Soften the vegetables
- Reduce the heat to medium.
- If the pan has more than 2 tablespoons of fat, pour off the excess.
- Add the onion and both bell peppers and cook, stirring often, for 4 to 5 minutes, scraping up the browned bits from the bottom of the pan.
+ Show details− Hide details
Ready when: Onion edges look translucent and the peppers are slightly softened but still bright and crisp-tender.
Simmer the sauce
- Give the sauce a quick whisk and pour it into the pan.
- Bring to a gentle boil over medium-high heat, stirring and scraping the pan bottom, then reduce the heat to medium-low.
+ Show details− Hide details
Ready when: Sauce is bubbling steadily and smells sweet and tangy, with the brown sugar fully dissolved.
Cook meatballs through
- Return the meatballs and any juices from the plate to the pan, spooning sauce over them.
- Cover and simmer gently for 10 to 12 minutes, turning the meatballs once halfway through.
- Check a meatball with an instant-read thermometer.
+ Show details− Hide details
Ready when: The center of a meatball reads 160°F (71°C) and shows no pink.
Tip: Keep the simmer gentle. A hard boil can break the meatballs apart and make them tough.
Thicken and add pineapple
- Restir the cornstarch slurry, then pour it into the simmering sauce while stirring.
- Add the drained pineapple chunks.
- Increase the heat to medium and cook, stirring gently, for 2 to 3 minutes.
+ Show details− Hide details
Ready when: Sauce turns glossy and thick enough to coat the back of a spoon, and a line drawn through it holds for a second.
Tip: Cornstarch must be stirred up from the bottom of its bowl right before adding, because it settles quickly.
Rest and serve
- Remove the pan from the heat and let it stand uncovered for 5 minutes so the sauce thickens slightly more and cools to a pleasant eating temperature.
- Taste and add a splash of vinegar if you want more tang.
- Serve over steamed rice.
+ Show details− Hide details
Ready when: Sauce clings to the meatballs rather than pooling thinly in the pan.
Good to know
Tips
- Brown the meatballs in two batches. Crowding the pan steams them and costs you flavor.
- Add the pineapple at the end so it stays firm and juicy rather than turning mushy.
- For a tangier sauce, stir in an extra tablespoon of vinegar after cooking. For a sweeter one, add a tablespoon of brown sugar.
- Use a thermometer to check doneness rather than cutting meatballs open, which lets the juices escape.
Make ahead
"Shape the raw meatballs up to 1 day ahead and refrigerate them covered on the baking sheet. The sauce can be whisked (without the cornstarch slurry) and refrigerated for up to 2 days. Or fully cook the dish and reheat it before serving."
Storage & reheating
"Room temperature: up to 2 hours. Fridge: airtight container up to 4 days. Freezer: up to 3 months in a freezer-safe container (the peppers will soften after thawing). Reheat gently in a covered skillet over medium-low heat with a splash of water or pineapple juice, or microwave in 60-second bursts, until steaming hot (165°F/74°C)."
Substitutions
- ground beef (80/20) → ground pork, turkey, or a half-beef, half-pork blend. Use dark-meat ground turkey for better juiciness. Cook all meats to 160°F (71°C) for ground beef or pork, and 165°F (74°C) for turkey.
- panko breadcrumbs → plain dry breadcrumbs or crushed crackers. Use about 1/3 cup (35 g) of plain breadcrumbs since they are denser than panko.
- rice vinegar or apple cider vinegar → apple cider vinegar or white vinegar. White vinegar is sharper, so start with 1/4 cup (60 ml) and add more to taste at the end.
- pineapple chunks in juice → fresh pineapple chunks plus 3/4 cup (180 ml) bottled pineapple juice. Use about 2½ cups (400 g) fresh chunks and add them a minute earlier so they warm through.
More meatballs
See all →Find more like this
- Meal
- Dinner
- Cuisine
- Chinese
- Main ingredient
- Ground BeefBell Peppers
- Diet
- Halal
- Method
- Stovetop
- Quick & Easy
- Easy





