
Chinese Beef Meatballs with Black Bean Sauce
Tender, ginger-scented beef meatballs are pan-fried until golden, then simmered with crisp bell peppers in a savory, garlicky fermented black bean sauce. Serve over steamed rice for an easy weeknight Chinese-style dinner.
- Prep
- 25 min
- Cook
- 24 min
- Wait
- 15 min
- Total
- 1 hr 4 min
- Makes
- About 16 meatballs (4 servings)
Steps
Before you start
- Use 80/20 ground beef; leaner beef makes drier, tighter meatballs.
- Have steamed rice started or ready to go, since the sauce comes together quickly once the meatballs are browned.
- Fermented black beans (douchi) are salty. Rinse them as directed and don't add extra salt to the sauce.
- Read through the recipe once: the meatball mixture rests 15 minutes while you prep the vegetables.
Rinse the black beans
- Place the fermented black beans in a small strainer and rinse under cold running water for 15 seconds to remove excess salt and grit.
- Drain well, then roughly chop and set aside.
+ Show details− Hide details
Ready when: Beans are damp but not dripping, and chopped into pieces about the size of a lentil.
Tip: Skipping the rinse makes the sauce harshly salty.
Mix the meatball mixture
- In a large bowl, combine the ground beef, egg, 1 tbsp cornstarch, 1 tbsp soy sauce, 1 tbsp rice wine, minced scallion whites, grated ginger, white pepper, and sesame oil.
- Add the 2 tbsp water in two additions.
- Using your hand or a sturdy spatula, stir in one direction for about 2 minutes, until the mixture turns sticky and cohesive and pulls away from the sides of the bowl.
+ Show details− Hide details
Ready when: Mixture looks paste-like, tacky, and slightly lighter in color, with no visible streaks of egg.
Tip: Stirring in one direction develops the protein for a bouncy, juicy texture. Don't overwork past this point or the meatballs turn rubbery.
Rest and prep vegetables
- Cover the bowl and refrigerate for 15 minutes so the mixture firms up and is easier to shape.
- Meanwhile, cut the red and green bell peppers and onion, mince the garlic, and slice the scallion greens.
- Mix the cornstarch slurry: whisk 1 tbsp cornstarch with 2 tbsp cold water in a small bowl until smooth.
+ Show details− Hide details
Ready when: Meatball mixture feels cold and noticeably firmer when pressed.
Tip: Keep the garlic and black beans separate from the vegetables so they don't scorch when added later.
Shape the meatballs
- Wet your hands lightly with cold water.
- Scoop level portions of about 2 tablespoons (28 g) and roll between your palms into smooth balls about 1¼ inches (3 cm) wide.
- You should get about 16.
- Place on a rimmed plate in a single layer.
+ Show details− Hide details
Ready when: Balls are smooth, uniform in size, and crack-free.
Tip: Wet hands keep the sticky mixture from clinging to your fingers.
Brown the meatballs
- Heat 2 tbsp (30 ml) of the oil in a 12-inch (30 cm) skillet over medium-high heat for about 1 minute, until it shimmers.
- Add the meatballs in a single layer.
- Fry without moving for 2 minutes, then turn every 1½ to 2 minutes with tongs or a spoon for a total of 6–7 minutes.
- Transfer to a clean plate.
- They will still be underdone inside; they finish in the sauce.
+ Show details− Hide details
Ready when: Meatballs are deep golden brown on most sides and release easily from the pan.
Tip: If they stick, wait another 30 seconds; they release once a crust forms.
Stir-fry the vegetables
- Carefully pour off all but about 1 tbsp of fat from the skillet (or wipe out and add 1 tbsp fresh oil).
- Keep the heat at medium-high and add the onion, red pepper, and green pepper.
- Stir-fry for 2–3 minutes.
+ Show details− Hide details
Ready when: Edges of the peppers are lightly blistered and the onion looks slightly translucent, but everything is still crisp.
Tip: Vegetables finish cooking in the sauce, so pull them from the heat slightly underdone in your mind, not mushy.
Build the sauce
- Push the vegetables to the sides of the pan.
- Add the chopped black beans and garlic to the center and stir for 20–30 seconds until fragrant.
- Pour in the 2 tbsp rice wine and scrape up any browned bits for 10 seconds.
- Add the chicken stock, 1 tbsp soy sauce, oyster sauce, and sugar, and stir to combine.
- Bring to a simmer.
+ Show details− Hide details
Ready when: Garlic smells fragrant and is pale gold, not brown; liquid is bubbling at the edges.
Tip: Garlic burns in seconds and turns bitter. Lower the heat if it colors quickly.
Simmer meatballs in sauce
- Return the meatballs and any juices on the plate to the skillet.
- Spoon sauce over them, reduce heat to medium-low, cover, and simmer for 6 minutes, gently turning the meatballs once halfway through.
+ Show details− Hide details
Ready when: Meatballs are firm to the touch and an instant-read thermometer inserted in the center of one reads 160°F (71°C).
Tip: Check the thermometer in two meatballs, since sizes vary slightly.
Thicken the sauce
- Re-whisk the slurry, since the cornstarch settles.
- Uncover the pan, raise the heat to medium, and stir the slurry into the sauce.
- Simmer for 1 minute, gently turning the meatballs to coat.
+ Show details− Hide details
Ready when: Sauce turns glossy and lightly coats the back of a spoon; a line drawn through it holds for a second.
Tip: Add the slurry gradually if you prefer a thinner sauce; you may not need all of it.
Garnish and serve
- Taste the sauce; it should be savory and balanced, and usually needs no extra salt.
- Scatter the scallion greens over the top and serve right away over hot steamed rice, spooning plenty of sauce over both.
Good to know
Tips
- Don't skip the water in the meatball mix; it makes them noticeably more tender and juicy.
- Use a pan large enough to hold the meatballs in one layer so they brown rather than steam.
- Chop the black beans fairly small so their flavor spreads evenly through the sauce.
- For a spicy version, add 1 sliced red chili with the garlic.
Make ahead
"Mix and shape the meatballs up to 1 day ahead; cover and refrigerate on a plate. Chop the vegetables and rinse the beans the same day. Fry and simmer just before serving for the best texture."
Storage & reheating
"Room temperature: no more than 2 hours. Refrigerator: airtight container up to 3 days. Freezer: up to 2 months (peppers soften after thawing). Reheat covered in a skillet over medium-low heat with a splash of water or stock for 5–8 minutes, or microwave in 1-minute bursts, until steaming hot and 165°F (74°C) in the center."
Substitutions
- Shaoxing rice wine → Dry sherry. Use the same amount in both the meatballs and sauce; for an alcohol-free version use extra chicken stock plus 1 tsp rice vinegar.
- ground beef (80/20) → Ground pork or ground chicken thigh. Pork gives a juicier result at the same weight; chicken thigh works but cook to 165°F (74°C).
- oyster sauce → Vegetarian mushroom stir-fry sauce. Same amount; adds similar savory depth without shellfish.
- low-sodium chicken stock → Water plus an extra 1 tsp light soy sauce. The sauce will be less rich but still balanced.