Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 lb (450 g) ground pork
- 1 lb (450 g) ground chicken (or turkey)
- 1/2 cup plain dry breadcrumbs
- 1/4 cup milk
- 1 large egg
- 3 cloves garlic, minced, plus 1 clove for glaze
- 1 Tbsp grated fresh ginger
- 4 green onions, thinly sliced (divided)
- 2–3 Tbsp soy sauce (divided)
- 1 Tbsp lime juice
- 1 Tbsp brown sugar
- 1 tsp kosher salt, 1/2 tsp black pepper
- 3/4 cup Thai sweet chili sauce
- 2 Tbsp rice vinegar or extra lime juice
- 1 Tbsp honey
- 2 tsp sriracha (optional)
- 1 tsp toasted sesame oil
- 1 tsp cornstarch + 1 Tbsp water
- Sesame seeds, cilantro, lime wedges (for serving)
Do This
- 1. Heat oven to 400°F (205°C). Line a rimmed baking sheet with parchment paper and lightly oil it.
- 2. Stir breadcrumbs and milk together; let sit 3–5 minutes. Add pork, chicken, egg, garlic, ginger, 2 green onions, soy sauce, lime juice, brown sugar, salt, and pepper; mix gently.
- 3. Form 1–1 1/4-inch meatballs (about 1 1/2 Tbsp each) and arrange on the prepared baking sheet.
- 4. Bake 15–18 minutes, until just cooked through and lightly browned (internal temp 165°F / 74°C).
- 5. While they bake, simmer sweet chili sauce, remaining soy sauce, vinegar, honey, sriracha, sesame oil, and garlic. Thicken with cornstarch slurry 1–2 minutes.
- 6. Toss hot meatballs in about half the glaze, return to the pan, and bake 3–4 minutes to set. Transfer to a platter, drizzle with remaining glaze, garnish with green onions, sesame seeds, and cilantro, and serve warm with picks.
Why You’ll Love This Recipe
- Baked, not fried, so the meatballs stay tender and juicy without a greasy mess.
- Sticky, sweet, and tangy glaze clings to every bite for maximum flavor.
- Perfect finger food for parties: easy to pick up, pop, and keep coming back for more.
- Flexible recipe: use pork and chicken, or swap in turkey or all chicken to suit your taste.
Grocery List
- Produce: Garlic, fresh ginger, green onions (scallions), fresh cilantro, limes
- Dairy: Milk, egg
- Pantry: Ground pork, ground chicken (or turkey), plain dry breadcrumbs, Thai sweet chili sauce, soy sauce, fish sauce (optional), rice vinegar, brown sugar, honey, sriracha or other hot sauce, toasted sesame oil, cornstarch, kosher salt, black pepper, crushed red pepper flakes (optional), sesame seeds
Full Ingredients
For the Meatballs
- 1 lb (450 g) ground pork
- 1 lb (450 g) ground chicken or turkey (93% lean is ideal)
- 1/2 cup plain dry breadcrumbs (regular or panko)
- 1/4 cup milk (any kind; whole or 2% works best)
- 1 large egg
- 3 cloves garlic, finely minced
- 1 Tbsp fresh ginger, finely grated
- 2 green onions (scallions), thinly sliced (white and green parts)
- 2 Tbsp soy sauce (regular or low-sodium)
- 1 Tbsp fish sauce (optional but adds great depth)
- 1 Tbsp fresh lime juice
- 1 Tbsp packed light brown sugar
- 1 tsp kosher salt (reduce to 3/4 tsp if using regular soy sauce and fish sauce)
- 1/2 tsp freshly ground black pepper
- 1/4 tsp crushed red pepper flakes (optional, for extra heat)
For the Sweet Chili Glaze
- 3/4 cup Thai sweet chili sauce (bottled)
- 2 Tbsp soy sauce
- 2 Tbsp rice vinegar or additional fresh lime juice
- 1 Tbsp honey
- 2 tsp sriracha or other hot sauce (optional, to taste)
- 1 tsp toasted sesame oil
- 1 clove garlic, finely minced
- 1 tsp cornstarch
- 1 Tbsp cold water
To Finish and Serve
- 2 green onions, thinly sliced (for garnish)
- 1–2 Tbsp toasted sesame seeds (optional)
- Small handful fresh cilantro leaves (optional)
- Lime wedges
- Cocktail picks or small skewers for serving

Step-by-Step Instructions
Step 1: Preheat the oven and prepare your pan
Heat your oven to 400°F (205°C). Line a large rimmed baking sheet with parchment paper for easy cleanup, and lightly spray or brush it with oil so the meatballs do not stick. If you have a wire rack that fits inside the pan, you can set it on top and lightly grease it; this allows heat to circulate around the meatballs and helps them brown a bit more evenly. Set the pan aside while you mix the meatball mixture.
Step 2: Make the meatball base
In a large mixing bowl, stir together the breadcrumbs and milk. Let this sit for 3–5 minutes until the crumbs absorb the liquid and soften; this panade is the secret to extra tender meatballs.
Add the ground pork and ground chicken, along with the egg, minced garlic, grated ginger, sliced green onions, soy sauce, fish sauce (if using), lime juice, brown sugar, salt, black pepper, and red pepper flakes (if using).
Using clean hands or a sturdy spoon, gently mix until everything is evenly combined. Try not to overwork the meat; stop as soon as it looks uniform. Overmixing can make meatballs dense instead of tender.
Step 3: Shape the meatballs
Prepare a small bowl of water or lightly oiled hands to keep the mixture from sticking. Scoop about 1 1/2 tablespoons of meat mixture per meatball (a small cookie scoop works well) and roll it between your palms to form a smooth ball about 1–1 1/4 inches in diameter.
Arrange the meatballs on the prepared baking sheet or rack, spacing them slightly apart so heat can circulate. You should get about 28–32 meatballs, depending on size. If any meatballs are much larger or smaller, pinch off or add a bit of meat so they are roughly uniform; this ensures they bake at the same rate.
Step 4: Bake until just cooked through
Place the pan in the preheated oven and bake for 15–18 minutes, or until the meatballs are just cooked through. They should be lightly browned and feel firm but springy when pressed.
If you have an instant-read thermometer, the center of a meatball should register at least 165°F (74°C). Do not worry if they are not deeply browned; they will go back into the oven briefly with the glaze, which adds color and shine.
Step 5: Cook the sweet chili glaze
While the meatballs bake, make the glaze. In a small saucepan, combine the sweet chili sauce, soy sauce, rice vinegar or lime juice, honey, sriracha (if using), toasted sesame oil, and the minced garlic. Stir well.
Bring the mixture to a gentle simmer over medium heat, stirring occasionally. In a small bowl, whisk together the cornstarch and cold water until smooth, then slowly pour this slurry into the simmering sauce while stirring constantly.
Continue to simmer for 1–2 minutes, stirring, until the glaze thickens enough to coat the back of a spoon. Remove from the heat. Taste and adjust seasoning: add a splash more vinegar or lime for brightness, or a small squeeze of honey for extra sweetness if you like.
Step 6: Glaze and finish in the oven
When the meatballs are cooked, remove them from the oven but leave the oven on. Transfer the hot meatballs to a large bowl. Pour about half of the warm sweet chili glaze over them and gently toss until each meatball is well coated and glossy.
Return the glazed meatballs to the baking sheet, leaving a bit of space between each one. Spoon any extra glaze from the bowl back over the tops. Place the pan back in the oven and bake for an additional 3–4 minutes. This step sets the glaze, helps it cling tightly, and gives the meatballs a lightly caramelized, sticky finish.
Step 7: Garnish and serve as pick-up bites
Transfer the hot, glossy meatballs to a serving platter or shallow bowl. Drizzle with some of the remaining glaze from the saucepan (you can reserve a bit in a small bowl for dipping if desired).
Sprinkle generously with the remaining sliced green onions, sesame seeds, and cilantro leaves. Arrange lime wedges around the edges for squeezing over the top right before eating.
Serve the meatballs warm with cocktail picks or small skewers so guests can easily grab a bite. They are delicious on their own, or you can pair them with simple sides like rice, cucumber slices, or a crisp slaw.
Pro Tips
- Keep the mixture soft, not stiff. If the raw meat mixture feels dry or crumbly instead of soft and slightly sticky, add an extra tablespoon or two of milk to keep the meatballs tender.
- Do not overmix. Mix just until the ingredients are combined. Overmixing compacts the meat and leads to dense, bouncy meatballs instead of soft, juicy ones.
- Make them uniform in size. Use a small cookie scoop or measuring spoon so all the meatballs are about the same size; this helps them cook evenly and look polished on a platter.
- Adjust the heat level. Bottled sweet chili sauce is usually mild. Use the optional red pepper flakes and sriracha to dial in your preferred level of spiciness.
- Double the glaze for a crowd. If you love things extra saucy or plan to serve these over rice or noodles, make 1.5–2 times the glaze recipe.
Variations
- All-chicken version: Use 2 lb ground chicken instead of the pork/chicken blend. Add 1 extra tablespoon of oil or an extra egg yolk for extra richness, as chicken alone is leaner.
- Ginger-garlic bomb: Increase ginger to 2 Tbsp and garlic to 5 cloves in the meatballs, and add an extra clove to the glaze for a more intensely aromatic, almost teriyaki-like flavor.
- Meal-style bowl: Serve the glazed meatballs over jasmine rice or rice noodles with sliced cucumbers, shredded carrots, and herbs. Drizzle leftover glaze over the bowl and top with crushed peanuts.
Storage & Make-Ahead
Let leftover meatballs cool to room temperature, then transfer them to an airtight container with any remaining glaze. Store in the refrigerator for up to 4 days. Reheat gently in a covered skillet over low heat with a splash of water, or in a 325°F (165°C) oven for 10–12 minutes until warmed through.
For longer storage, place cooked, glazed meatballs on a baking sheet and freeze until solid, then transfer to a freezer bag or container. They keep well for up to 2 months. Reheat from frozen, covered, at 325°F (165°C) for 15–20 minutes, adding a little extra sweet chili sauce if you like.
To make ahead for a party, you can form the raw meatballs up to 1 day ahead and refrigerate them tightly covered. Bake and glaze just before serving for the best texture and shine.
Nutrition (per serving)
Approximate values per serving (1/8 of the recipe, about 3–4 meatballs with glaze): about 350 calories, 20 g protein, 17 g fat, 22 g carbohydrates, 1 g fiber, and 12–14 g sugar. Values will vary based on exact ingredients and brands, and on how much glaze is left in the pan vs. eaten.
