Bold, creamy, and fragrant with lemongrass and red curry, these Thai coconut curry chicken meatballs have become one of my most-requested weeknight dinners. The first time I made them, I could not believe how a handful of pantry staples and some ground chicken could come together into something that tastes genuinely restaurant-worthy. Ladled over fluffy jasmine rice and topped with sliced red chilies, fresh Thai basil, and crispy shallots, this dish is the kind of meal that makes everyone at the table go quiet for a moment before the compliments start rolling in.
What I love most is that the meatballs themselves carry serious flavor before they ever hit the curry sauce. Lemongrass, ginger, garlic, and fish sauce are mixed right into the meat, so every bite is infused with that classic Thai flavor profile. The coconut curry sauce is silky, slightly spicy, and rich without feeling heavy. It all comes together in under an hour, which makes it perfect for busy weeknights when you still want something that feels special.
Why You Will Love This Thai Coconut Curry Chicken Meatballs over Jasmine Rice
What Makes Thai Chicken Meatballs Different from Regular Meatballs?
Traditional meatballs tend to rely on Italian seasonings, breadcrumbs, and tomato sauce for their character. Thai chicken meatballs take a completely different approach. Instead of parmesan and oregano, the meatball mixture is built around aromatics like fresh lemongrass, ginger, garlic, and the bright funkiness of fish sauce. These ingredients create a fragrant, savory base that complements the coconut curry sauce beautifully rather than competing with it.
The coconut milk in the sauce also plays a key role that tomato-based sauces simply cannot replicate. It adds a natural creaminess and a subtle sweetness that balances the heat of the red curry paste and the acidity of lime juice. The result is a sauce that clings to each meatball and soaks into the jasmine rice below, making every forkful a layered, complex experience. If you have only ever thought of meatballs as a purely Italian-American concept, this recipe will absolutely change your perspective.
Substitutions and Variations
- Ground chicken: Ground turkey works just as well and has a very similar texture and mild flavor. Ground pork is also fantastic here if you want something slightly richer and fattier.
- Red curry paste: Green curry paste can be swapped in for a brighter, more herbaceous sauce with a different but equally delicious heat profile. Yellow curry paste gives a milder, more turmeric-forward result.
- Coconut milk: Full-fat coconut milk gives the sauce its signature silky richness. Light coconut milk will work in a pinch but the sauce will be thinner and less luxurious.
- Fish sauce: If you need a fish-free or vegan option, soy sauce or coconut aminos are good substitutes. They will not provide the same depth, but they keep the salty, umami character intact.
- Jasmine rice: Any long-grain white rice makes a great base. Brown jasmine rice, coconut rice, or even rice noodles all pair beautifully with the curry sauce.
- Fresh lemongrass: If fresh lemongrass is unavailable, lemongrass paste sold in a tube is a convenient and effective substitute. Use about one teaspoon of paste per stalk called for.
- Red chilies: Fresno chilies are a widely available and mild alternative to Thai bird’s eye chilies. You can also use a pinch of red pepper flakes if fresh chilies are not on hand.
Watch Out for These Mistakes While Cooking
Overworking the meatball mixture. Once you combine the ground chicken with the seasonings, mix only until everything is just incorporated. Overworking the meat activates the proteins too aggressively, which results in dense, tough meatballs instead of the tender, juicy texture you are after. I always use my hands or a fork and stop as soon as I no longer see dry spots.
Skipping the sear. It can be tempting to skip the browning step and drop the raw meatballs straight into the sauce to save time. Please do not do this. Searing the meatballs in a hot skillet first creates a caramelized crust that adds a deep layer of savory flavor and also helps them hold their shape as they finish cooking in the curry. That golden exterior is worth the extra few minutes.
Using low-fat coconut milk and rushing the sauce. The coconut curry sauce needs a couple of minutes to simmer and reduce slightly before the meatballs go back in. If you rush this step or use a watery coconut milk, the sauce will be thin and will not coat anything properly. Give it time to thicken, taste it for seasoning, and let the flavors meld before serving.
What to Serve With This Thai Coconut Curry Chicken Meatballs over Jasmine Rice
The jasmine rice in this recipe is truly the perfect foundation because it absorbs all that glorious coconut curry sauce without becoming mushy. Beyond the rice, I love adding a simple cucumber salad dressed with rice vinegar, sesame oil, and a pinch of sugar on the side. The cool, crisp cucumber cuts through the richness of the coconut sauce and provides a refreshing contrast to the warm spices. Steamed bok choy or sautéed snap peas also work wonderfully alongside this dish.
For a more festive spread, consider serving these meatballs with a platter of fresh spring rolls or a light Thai papaya salad. If you want to keep things simple and minimal, an extra wedge of lime squeezed over the top right before eating and a handful of extra fresh Thai basil leaves is honestly all you need. The dish is complete on its own, so even just the meatballs, rice, and garnishes make for a fully satisfying and balanced meal.
Storage Instructions
Store: Transfer leftover meatballs and curry sauce to an airtight container and refrigerate for up to 4 days. Store the jasmine rice separately in its own container to prevent it from absorbing too much sauce and becoming soggy.
Freeze: The meatballs and curry sauce freeze beautifully for up to 3 months. Place them in a freezer-safe container or zip-top bag, removing as much air as possible. Thaw overnight in the refrigerator before reheating. I recommend freezing without the rice and cooking fresh rice when you are ready to serve.
Reheat: Warm the meatballs and sauce gently in a saucepan over medium-low heat, adding a splash of coconut milk or water to loosen the sauce if it has thickened in the fridge. You can also microwave in a covered dish in 90-second intervals, stirring between each, until heated through.
| Preparation Time | 15 minutes |
| Cooking Time | 30 minutes |
| Total Time | 45 minutes |
| Difficulty | Medium |
| Servings | 4 servings |
Estimated Nutrition
- Calories: 520
- Protein: 32g
- Fat: 22g
- Carbohydrates: 48g
(Estimated per serving, without optional ingredients)
Ingredients
- For the Meatballs:
- 1 lb ground chicken
- 1 stalk lemongrass, tender inner part only, finely minced
- 3 cloves garlic, minced
- 1 teaspoon fresh ginger, finely grated
- 2 tablespoons fish sauce
- 1 tablespoon red curry paste
- 2 green onions, thinly sliced
- 1/4 cup breadcrumbs
- 1 egg
- 2 tablespoons coconut oil or neutral oil, for searing
- For the Coconut Curry Sauce:
- 1 tablespoon coconut oil
- 3 cloves garlic, minced
- 1 tablespoon fresh ginger, grated
- 3 tablespoons red curry paste
- 1 can (13.5 oz) full-fat coconut milk
- 1 tablespoon fish sauce
- 1 tablespoon brown sugar
- 1 tablespoon fresh lime juice
- 1/2 cup chicken broth
- For Serving:
- 2 cups dry jasmine rice, cooked according to package directions
- Fresh Thai basil leaves
- 2 red chilies, thinly sliced
- 1/4 cup crispy fried shallots
- Lime wedges
Step 1: Make the Meatball Mixture
- 1 lb ground chicken
- 1 stalk lemongrass, tender inner part only, finely minced
- 3 cloves garlic, minced
- 1 teaspoon fresh ginger, finely grated
- 2 tablespoons fish sauce
- 1 tablespoon red curry paste
- 2 green onions, thinly sliced
- 1/4 cup breadcrumbs
- 1 egg
In a large mixing bowl, combine the ground chicken with the minced lemongrass, garlic, ginger, fish sauce, red curry paste, green onions, breadcrumbs, and egg. I like to use my hands here because it is the gentlest way to bring everything together without overworking the mixture. Mix until just combined and stop as soon as you no longer see streaks of egg or dry breadcrumbs. Using a small cookie scoop or your hands, roll the mixture into balls about 1.5 inches in diameter. You should get roughly 18 to 20 meatballs. Place them on a parchment-lined baking sheet or plate while you heat your pan.
Step 2: Sear the Meatballs
- 2 tablespoons coconut oil or neutral oil
Heat the oil in a large skillet or wide sauté pan over medium-high heat until shimmering. Working in batches to avoid crowding, add the meatballs and sear for about 2 to 3 minutes per side until golden brown all over. They do not need to be fully cooked through at this stage since they will finish in the sauce. I find that resisting the urge to move them too soon is the key to getting that beautiful crust. Once seared, transfer the meatballs to a plate and set aside.
Step 3: Build the Coconut Curry Sauce
- 1 tablespoon coconut oil
- 3 cloves garlic, minced
- 1 tablespoon fresh ginger, grated
- 3 tablespoons red curry paste
- 1 can (13.5 oz) full-fat coconut milk
- 1 tablespoon fish sauce
- 1 tablespoon brown sugar
- 1/2 cup chicken broth
Reduce the heat to medium and add the remaining tablespoon of coconut oil to the same skillet. Add the garlic and ginger and cook for about 60 seconds, stirring constantly, until fragrant. Add the red curry paste and stir it into the aromatics, letting it toast for another 30 seconds. I love this step because the kitchen smells absolutely incredible at this point. Pour in the coconut milk and chicken broth, then stir in the fish sauce and brown sugar. Bring the sauce to a gentle simmer and cook for 4 to 5 minutes, stirring occasionally, until it reduces slightly and the flavors deepen.
Step 4: Finish the Meatballs in the Sauce
Carefully nestle the seared meatballs back into the simmering curry sauce. Reduce the heat to medium-low, cover the pan, and cook for another 10 to 12 minutes until the meatballs are cooked through and register 165°F on an instant-read thermometer. I tend to spoon the sauce over the meatballs a couple of times during this step to keep everything coated and saucy. Once done, stir in the fresh lime juice, taste the sauce, and adjust with a little more fish sauce, sugar, or lime to balance it to your liking.
Step 5: Cook the Jasmine Rice and Serve
- 2 cups dry jasmine rice, cooked according to package directions
- Fresh Thai basil leaves
- 2 red chilies, thinly sliced
- 1/4 cup crispy fried shallots
- Lime wedges for serving
While the meatballs finish cooking in the sauce, prepare your jasmine rice according to package directions. I always rinse my jasmine rice until the water runs clear before cooking it, which gives you those perfectly separate, fluffy grains that are ideal for soaking up curry sauce. To serve, spoon a generous portion of rice into a shallow bowl, ladle the meatballs and coconut curry sauce over the top, and finish with sliced red chilies, fresh Thai basil leaves, a handful of crispy fried shallots, and a wedge of lime on the side. Serve immediately while everything is hot.

Thai Coconut Curry Chicken Meatballs over Jasmine Rice
Ingredients
For the Meatballs
- 1 lb ground chicken
- 1 stalk lemongrass tender inner part only, finely minced
- 3 cloves garlic minced
- 1 teaspoon fresh ginger finely grated
- 2 tablespoons fish sauce
- 1 tablespoon red curry paste
- 2 green onions thinly sliced
- 1/4 cup breadcrumbs
- 1 egg
- 2 tablespoons coconut oil or neutral oil for searing
For the Coconut Curry Sauce
- 1 tablespoon coconut oil
- 3 cloves garlic minced
- 1 tablespoon fresh ginger grated
- 3 tablespoons red curry paste
- 1 can 13.5 oz full-fat coconut milk
- 1 tablespoon fish sauce
- 1 tablespoon brown sugar
- 1 tablespoon fresh lime juice
- 1/2 cup chicken broth
For Serving
- 2 cups dry jasmine rice cooked according to package directions
- Fresh Thai basil leaves
- 2 red chilies thinly sliced
- 1/4 cup crispy fried shallots
- Lime wedges
Instructions
Instructions
- In a large mixing bowl, combine the ground chicken with the minced lemongrass, garlic, ginger, fish sauce, red curry paste, green onions, breadcrumbs, and egg. Mix gently with your hands until just combined, being careful not to overwork the mixture. Roll into balls about 1.5 inches in diameter (roughly 18 to 20 meatballs) and place on a parchment-lined plate.
- Heat 2 tablespoons of coconut oil in a large skillet over medium-high heat until shimmering. Working in batches, sear the meatballs for 2 to 3 minutes per side until golden brown all over. They do not need to be fully cooked through at this stage. Transfer to a plate and set aside.
- Reduce the heat to medium and add 1 tablespoon of coconut oil to the same skillet. Add the garlic and ginger and cook for 60 seconds until fragrant. Add the red curry paste and stir for 30 seconds. Pour in the coconut milk and chicken broth, then stir in the fish sauce and brown sugar. Bring to a gentle simmer and cook for 4 to 5 minutes until the sauce reduces slightly.
- Nestle the seared meatballs back into the simmering curry sauce. Reduce the heat to medium-low, cover, and cook for 10 to 12 minutes until the meatballs are cooked through and reach an internal temperature of 165°F. Stir in the fresh lime juice and adjust seasoning with additional fish sauce, sugar, or lime juice to taste.
- Cook the jasmine rice according to package directions. To serve, spoon a generous portion of rice into a shallow bowl, ladle the meatballs and coconut curry sauce over the top, and garnish with sliced red chilies, fresh Thai basil leaves, crispy fried shallots, and a wedge of lime. Serve immediately.

