Love this? Pin it for later!
The beauty of this dish lies in its balance: the gentle heat from Thai chilies, the savory depth of garlic and ginger, the bright pop of lime, and that silky peanut sauce that somehow feels both indulgent and energizing. Ground chicken keeps things light, while a double hit of peanuts—finely chopped in the meatballs and blended into the sauce—gives you that addictive nuttiness that keeps you coming back for "just one more." Whether you're feeding hungry teenagers after soccer practice or impressing your book-club friends, these meatballs deliver big, bold flavor without demanding hours of your precious time.
Why This Recipe Works
- Two-texture peanut experience: Finely chopped peanuts in the meatballs give subtle crunch, while the silky sauce delivers rich, nutty depth.
- Cilantro stems = flavor bomb: Using both leaves and tender stems infuses every bite with fresh, grassy notes—no waste, all taste.
- Bake-then-braise method: A quick oven roast sets the shape, then a simmer in the sauce keeps them impossibly tender.
- Customizable heat: Keep the chili level kid-friendly or crank it up for fire-seekers—simply adjust the Sriracha and fresh chilies.
- Make-ahead marvel: Form the meatballs up to 24 hours early; sauce holds three days refrigerated and both freeze beautifully.
- One pound, many mouths: A single pound of chicken stretches to feed six when paired with rice or toothpicks as an appetizer.
- Gluten-free & dairy-free: Tamari subs for soy, coconut milk keeps it creamy without cream—everyone at the table can indulge.
Ingredients You'll Need
Great meatballs start with great ingredients, and Thai cuisine is all about harmony. Pick plump, pale-pink ground chicken—thigh meat if you can find it, because the tiny bit of extra fat keeps things juicy. Look for ginger with taut, shiny skin; wrinkled knobs are drying out and won't deliver that peppery perfume. Fresh lime is non-negotiable: bottled juice tastes flat against the rich peanut sauce. Speaking of peanuts, buy raw or lightly roasted, unsalted. If you only have salted, rinse them under warm water, then blot dry and toast briefly to recrisp. Fish sauce smells terrifying in the bottle, but it melts into the background, leaving behind a feral depth you can't replicate with salt alone. (Vegetarians can swap in soy plus a dab of miso.) Coconut milk should be full-fat; light versions water down the sauce. Palm sugar is traditional, but light brown sugar dissolves faster and is easier to find. Finally, Thai basil has a purple-tinged edge and licorice perfume—if your market only has Italian sweet basil, add a tiny pinch of ground star anise to echo that warm note.
How to Make Spicy Thai Chicken Meatballs With Peanut Sauce
Prep your flavor base
In the bowl of a mini food processor, combine 3 cloves garlic, 1 tablespoon peeled ginger coins, 2 trimmed Thai chilies, and the tender stems from ½ bunch cilantro. Pulse until everything is minced to a damp paste—scrape down once. (No processor? Mince with your chef's knife, sprinkling a pinch of coarse salt to act as grit.) This paste seasons both meatballs and sauce, so divide it now: scrape two-thirds into a large mixing bowl for the meat and reserve the remaining third in a small skillet for the sauce.
Build the meatball mixture
To the large bowl with garlic paste, add 1 pound ground chicken, 1 lightly beaten egg, 3 tablespoons very finely chopped peanuts, 2 tablespoons panko (or crushed rice crackers for GF), 1 tablespoon fish sauce, 1 teaspoon soy sauce, and ½ teaspoon white pepper. Mix with a fork just until the ingredients cling together; over-mixing turns meatballs bouncy. Cover and refrigerate 15 minutes—this firms the fat so balls hold their shape.
Portion & roll
Line a rimmed baking sheet with parchment. Dip a 1-tablespoon scoop or spoon into cold water (prevents sticking) and portion the chicken mixture into 24 mounds. Roll each gently between damp palms until smooth and round, spacing them ½ inch apart. If you spot any peanut chunks poking out, press them flush so they don't scorch. Slide the tray, uncovered, into the freezer for 10 minutes while the oven preheats to 400 °F—this quick chill prevents flattening.
Oven-roast to set
Bake meatballs on the center rack for 12 minutes, until the tops turn ivory and just begin to blush golden. They will finish cooking in the sauce, so don't worry if centers peek slightly underdone. While they roast, start the sauce. Remove tray, lower oven to 200 °F, and tent loosely with foil to keep warm.
Bloom remaining aromatics
Set the small skillet with reserved garlic paste over medium heat. Add 1 teaspoon oil and sauté 45 seconds until fragrant but not browned—ginger's volatile oils are delicate. Stir in 1 tablespoon red curry paste; cook another minute to awaken the spices. Your kitchen will smell like a Bangkok night market.
Create the peanut sauce
Whisk in 1 cup full-fat coconut milk, 2 tablespoons natural peanut butter, 1 tablespoon palm sugar, 1 tablespoon lime juice, 1 teaspoon fish sauce, and ¼ cup chicken stock. Simmer gently 3 minutes, stirring, until satin-smooth. If too thick, splash in more stock; you want it to nap the back of a spoon like melted ice cream. Taste: it should be salty-sweet-tangy; adjust with drops of fish sauce or sugar.
Simmer meatballs in sauce
Slide the (mostly cooked) meatballs into the skillet; spoon sauce over each. Cover and simmer on low 8 minutes, swirling pan occasionally. The gentle poach keeps them plush and lets the flavors meld. Remove lid, increase heat to medium, and cook 2 more minutes so sauce clings. If you're doubling the recipe, transfer everything to a wide sauté pan to avoid crowding.
Finish & serve
Off heat, fold in a handful of torn Thai basil leaves and 1 thinly sliced red chili for color. Serve straight from the skillet with jasmine rice, lettuce cups, or cocktail picks. Garnish with extra cilantro leaves, chopped peanuts, and a final squeeze of lime—the acid wakes everything up.
Expert Tips
Keep everything cold
Warm chicken fat = flat meatballs. Pop the mixing bowl and even your hands under cold water for 30 seconds before rolling.
Skewer & grill option
Thread 3 meatballs on soaked skewers, grill 3 min per side, then brush with thickened sauce for smoky street-food vibes.
Sauce rescue
If sauce breaks (looks curdled), whisk in 1 teaspoon hot water with a squeeze of lime—the fat will re-emulsify instantly.
Double-duty sauce
Thin leftovers with coconut milk for a crave-worthy salad dressing or cold noodle drizzle the next day.
Speedy weeknight hack
Form meatballs on Sunday, freeze on tray, then bag. They go straight from freezer to oven—add 4 extra minutes bake time.
Brighten last-minute
A whisper of lime zest grated over just before serving amplifies citrus aroma without extra tartness—guests will wonder why they can't stop eating.
Variations to Try
- Green curry turkey: Swap chicken for ground turkey and red curry paste for green; add 1 teaspoon lime zest to the meat.
- Pescatarian twist: Use 1 lb raw shrimp pulsed to a chunky paste in place of chicken; reduce initial bake to 6 minutes.
- Sweet & sour glaze: Skip peanut sauce; instead simmer ¼ cup tamarind concentrate with 2 tablespoons honey and 1 tablespoon Sriracha for a sticky finish.
- Veggie-loaded: Add ½ cup grated zucchini squeezed dry to the mix; decrease panko by 1 tablespoon.
- Keto-friendly: Replace panko with 2 tablespoons almond flour and use sugar-free peanut butter; serve over cauliflower rice.
Storage Tips
Refrigerate: Cool meatballs and sauce in separate airtight containers up to 4 days. Reheat gently in a covered skillet with a splash of coconut milk or stock to loosen.
Freeze: Freeze sauce-covered meatballs in a single layer in zip bags with air pressed out up to 3 months. Thaw overnight in fridge, then warm slowly on stovetop.
Make-ahead: Shape and refrigerate raw meatballs up to 24 hours; layer between parchment. Sauce can be cooked, cooled, and stored 3 days ahead—thin while reheating.
Frequently Asked Questions
Spicy Thai Chicken Meatballs With Peanut Sauce
Ingredients
Instructions
- Prep flavor paste: In a mini processor, pulse garlic, ginger, chilies, and cilantro stems to a damp paste. Divide: two-thirds into a mixing bowl for meat, one-third into a small skillet.
- Mix meatballs: To the bowl, add chicken, egg, chopped peanuts, panko, fish sauce, soy, and white pepper. Stir just until combined. Chill 15 min.
- Portion: Using a 1-Tbsp scoop, form 24 meatballs; arrange on parchment-lined sheet. Freeze 10 min while oven preheats to 400 °F.
- Bake: Roast 12 min (they will finish in sauce). Lower oven to 200 °F; tent meatballs with foil.
- Start sauce: Set skillet over medium heat with 1 tsp oil; sauté reserved paste 45 sec. Stir in curry paste 1 min. Whisk in coconut milk, peanut butter, sugar, lime juice, fish sauce, and stock; simmer 3 min until thick enough to coat spoon.
- Simmer: Add meatballs to sauce, cover, and cook on low 8 min. Uncover, increase heat, and cook 2 min more until glaze clings.
- Finish: Stir in Thai basil and sliced chili. Serve hot with lime wedges, rice, or lettuce cups.
Recipe Notes
For kid-friendly heat, omit fresh chilies and reduce Sriracha to taste. Sauce can be doubled and frozen for future quick meals.