This Thai Chicken Meatball Curry is a quick, one-pan dish featuring homemade chicken meatballs simmered in a coconut milk red curry sauce with fresh veggies like bell pepper, zucchini, and spinach. It’s full of Thai-inspired flavor, comes together in 35 minutes, easy to customize, and perfect with rice, noodles, or low-carb sides.

Thai Chicken Meatballs Deserve a Spot in Your Dinner Rotation!
Red coconut curry is one of my all-time favorite ways to make dinner, and I have several popular red curry recipes on my site—like salmon coconut curry, duck curry, and shrimp banana curry. Now, I’m excited to add these Thai chicken meatballs to the collection, and I’m sure you’ll love it just as much. It's dairy-free, gluten-free, high-in protein, and low-carb. Here are a few other highlights:
- Homemade Meatballs: I make the chicken meatballs from scratch with Thai flavors like red curry paste, fish sauce, and Thai basil—they’re tender, juicy, and way better than anything pre-made. But you can certainly use pre-made ones.
- Crisp Veggies: I sauté the bell pepper and zucchini separately, then add them at the end so they stay crisp-tender instead of getting soggy in the curry.
- One-Pot, 30-Minute Meal: This comes together in one skillet in about half an hour—easy cleanup, big flavor, weeknight-friendly, and freezer-friendly!
- Super Flexible: You can use ground turkey instead of chicken, toss in different veggies like snow peas or bok choy, and adjust the heat or sweetness depending on who you're cooking for. You can serve it with rice, noodles, or low-carb sides like quinoa, cauliflower "rice", or spiralized zucchini (zoodles).
- Great for Meal Prep: The flavors get even better the next day. I often make extra for lunches or freeze the meatballs to cut down on prep time later. I’ve got lots of tips below on how to prep Thai chicken meatballs ahead of time, plus how to store, freeze, and reheat them.


Storage Instructions
- Fridge: Store the leftovers in an airtight container for up to 4 days.
- Freezing: Freeze cooked Thai chicken meatballs and sauce together or separately for up to 2 months. For best texture, freeze without the spinach and add fresh when reheating.
- Reheating (Stovetop): Simmer over medium heat until warmed through, stirring occasionally. Tip: Add a splash of broth or coconut milk if the sauce thickens too much after storing.
- Reheating (Microwave): Heat in 1-minute intervals, stirring in between, until hot.

Make-Ahead Tips
- Prepare and freeze raw meatballs individually for quick cooking later. Shape the meatballs and place them on a baking sheet lined with parchment paper, making sure they don’t touch each other. Freeze until solid, then transfer them to a freezer-safe bag or container. This way, they won’t stick together, and you can cook them straight from frozen when ready.
- You can make the full curry ahead of time and store it separately from the meatballs—either in the fridge or freezer—leaving out the spinach until reheating to keep it fresh and vibrant.
- Alternatively, you can prepare the curry together with the cooked meatballs and store them as one dish, just remember to add fresh spinach when reheating to maintain its texture and color. Both methods work well for meal prep and make weeknight dinners quick and easy.
- Other tips: Portion into containers for easy meal prep—flavors improve after a day or two. Use freezer-safe containers to keep meals fresh up to 2 months.
More Thai-Inspired Recipes

Thai Chicken Meatballs
Ingredients
For the Meatballs:
- 1 ½ lb ground chicken (680 g)
- 2 cloves garlic minced
- 1 small shallot finely minced
- 1 tablespoon fish sauce
- ½ teaspoon salt
- ¼ teaspoon white pepper
- 1 teaspoon red curry paste
- ¼ cup panko or regular breadcrumbs (use gluten-free crumbs for GF version)
- 1 tablespoon chopped Thai basil
- 1 medium egg
For the Curry:
- 1 tablespoon neutral cooking oil like avocado or coconut
- 2 cloves garlic minced
- 1 tablespoon grated ginger
- 2 tablespoons red curry paste
- 14 oz unsweetened full-fat coconut milk (400 ml)
- ½ cup chicken broth (120 ml)
- 1 tablespoon fish sauce
- 1 teaspoon brown sugar or coconut sugar
- ½ medium lime juiced
- 1 small zucchini thinly sliced
- 1 medium red bell pepper very thinly sliced
- 3 cups baby spinach
- ¼ cup Thai basil leaves plus more for garnish
Instructions
Make meatballs
- In a bowl, mix all meatball ingredients until just combined. Form into small meatballs (about 1 inch in diameter, about 27 meatballs). If the mixture feels too sticky, wet your hands slightly when shaping the meatballs.
- Heat your cast iron skillet over medium heat and add a drizzle of oil. Sear the meatballs in batches or all at once until browned on all sides (about 6-8 minutes). They don’t need to be fully cooked yet. Remove and set aside.
Pre-cook the veggies
- Add thinly sliced bell pepper to the same, now empty, skillet, and cook for about 2 minutes, occasionally stirring, on medium heat. Add sliced zucchini to the bell peppers and cook for 2 more minutes. Remove the cooked bell pepper and zucchini to the plate.
Make red curry sauce and assemble
- In the same skillet, add a little more oil if needed. Sauté garlic and ginger until fragrant (about 30 seconds). Stir in the red curry paste and cook for 1 minute to deepen the flavor.
- Pour in the coconut milk and chicken broth, stirring to combine. Add fish sauce and brown or coconut sugar. Bring to a gentle simmer.
- Return the meatballs to the skillet and let everything simmer for 5-7 minutes until the meatballs are cooked through.
- Stir in the precooked red bell peppers, zucchini and baby spinach. Let the spinach wilt for about 1 minute. Squeeze in the lime juice and add Thai basil.
- Garnish with extra Thai basil. Serve hot with jasmine rice or noodles.
Notes
- If you like it spicier, add a chopped Thai chili or a bit of extra red curry paste.
- You can swap ground chicken with ground turkey.
- Add snow peas, green beans, baby corn, or bok choy instead of spinach.
- For a low-carb version, serve with cauliflower rice or zucchini noodles instead of jasmine rice.
Nutrition
Nutrition Disclaimer:
The nutritional information on this website is only an estimate and is provided for convenience and as a courtesy only. The accuracy of the nutritional information for any recipe on this site is not guaranteed. It should not be used as a substitute for a professional nutritionist’s advice.
How to Make Thai Meatballs (Step-by-Step)
Here’s a quick step-by-step preview of the recipe with helpful photos! For the full instructions and details, scroll up to the recipe card RIGHT ABOVE.
- Make meatballs: Mix meatball ingredients, form into small balls, and sear in a hot skillet until browned but not fully cooked.

- Sauté veggies: Sauté bell pepper and zucchini in the same skillet until tender, then set aside.

- Make curry sauce: Sauté garlic and ginger, add red curry paste, and cook briefly. Stir in coconut milk, chicken broth, fish sauce, and sugar; simmer gently.

- Assemble: Return meatballs to the skillet and cook through. Add precooked veggies and spinach, wilt spinach, then finish with lime juice and Thai basil.

- Serve garnished with extra basil alongside rice or noodles.


This is a really delicious recipe. I followed the directions as written. I froze the raw meatballs on a cookie sheet (with parchment paper), then used them as I needed them. I recommend (as Julia suggests) to keep the sautéed vegetables crisp and separate from the curry, until just before serving, then add them with the spinach. And the lime is important, it really makes the sauce bright and well flavored. Thanks Julia.
Ah, this makes me so happy, Lynne! 🙂 Love that you froze the meatballs for easy meals, and totally agree—the lime at the end is a game changer. Thanks for trying it and for the awesome feedback!
Hi Julia,
Can I sub ground pork.
Thanks
Cheers
Hi Jake - yes, you can use ground pork instead.
Thanks for this amazing recipe, I made it last night, it came out great. Served it with quinoa.
Thank you, Donna, for reviewing this new recipe!! 🙂 So glad you tried it and came back to review it!