Golden Thai Chicken Meatballs with Coconut Peanut Curry
Table of Contents
Golden Thai Chicken Meatballs with Creamy Coconut Peanut Curry and Fragrant Coconut Jasmine Rice – A Bold, Balanced Bowl

I still remember the first time I made these Thai chicken meatballs with coconut peanut curry in my tiny Manhattan kitchen, the aromas of ginger, garlic, and coconut milk drifting out my fire escape and into the bustling East Village air. Growing up in Morocco, my mother taught me that meatballs are never just meatballs — they’re a canvas for spices, a vessel for love, and a way to stretch a meal into something memorable. Years later, after training at Le Cordon Bleu in Paris, I learned that the real magic lies in how you build layers of flavor: a proper sear, a patiently simmered sauce, the balance of salt, acid, and heat. This recipe brings all of that together in one glorious bowl. These golden Thai chicken meatballs with coconut peanut curry are everything I crave on a chilly New York evening — warming, aromatic, and deeply satisfying.
Picture this: tender, golden-brown chicken meatballs with a crackling sear, nestled in a velvety coconut peanut curry that’s rich, spicy, and just a little bit sweet. The sauce clings to every surface, thanks to a silk-smooth blend of coconut milk, red curry paste, and creamy peanut butter. And beneath it all, a bed of fragrant coconut jasmine rice — cooked with coconut milk and broth — that soaks up every drop of that gorgeous sauce. Each bite is a contrast: the juicy meatball, the creamy curry, the fluffy rice. It’s the kind of Thai peanut chicken meatballs recipe that makes you close your eyes and savor the moment.
What sets this creamy coconut curry meatballs recipe apart is a handful of tiny but mighty decisions: using an egg yolk and cornstarch to keep the meatballs impossibly tender, searing them in butter and oil for that golden crust, and finishing the sauce with fresh lime juice to brighten all those deep, bold flavors. I’ve tested this dozens of times to make sure it’s foolproof for home cooks — no weird ingredients, no complicated steps. Just honest, delicious food that transports you. Whether you’re new to Thai cooking or a seasoned pro, this Thai chicken meatballs recipe will become a staple in your rotation.
Why This Thai Chicken Meatballs with Coconut Peanut Curry Recipe Is the Best
The Flavor Secret. Most Thai chicken meatball recipes rely on bottled sauces or skip the browning step. Not this one. I use a classic French technique — searing the meatballs in a blend of vegetable oil and unsalted butter — to build a deep, golden crust that locks in moisture and adds richness. Then the same pan gets deglazed with chicken broth and coconut milk, picking up all those caramelized bits. The result is a creamy coconut peanut curry sauce with extraordinary depth. This is the kind of Thai peanut chicken meatballs recipe that makes your kitchen smell like your favorite Bangkok street stall, minus the plane ticket.
Perfected Texture. Ground chicken is lean and can turn dry in a heartbeat. My trick? A single egg yolk and two tablespoons of cornstarch. The yolk adds fat and emulsifying power; the cornstarch acts as a binder and moisture-lock. I also grate the ginger and garlic on a microplane instead of chopping — this releases their juices and disperses them evenly, so every bite is fragrant. The meatballs come out tender, juicy, and never rubbery. It’s a technique I learned in Paris for making quenelles, and it works beautifully here.
Foolproof & Fast. Despite the layers of flavor, this entire meal comes together in about 60 minutes — and most of that is hands-off simmering. The rice cooks while you prep the meatballs, and the sauce comes together in the same pan you sear in. Fewer dishes, less stress, more time to enjoy. I’ve designed this recipe so that even a beginner can nail it on the first try. Each step includes clear visual cues so you know exactly what to look for. Trust me — if you can roll a meatball and stir a pot, you can make this creamy coconut curry meatballs recipe.
Thai Chicken Meatballs with Coconut Peanut Curry Ingredients
I source most of my ingredients from the Union Square Greenmarket and my local Asian market on Mott Street. For the coconut milk, I always reach for Chaokoh or Aroy-D — they’re thick, creamy, and don’t separate as much as cheaper brands. The fish sauce and red curry paste are non-negotiable for authentic flavor; look for them in the international aisle of any well-stocked US grocery store. And when bok choy is in season in spring and fall, I grab it by the bunch — it adds a beautiful green crunch that balances the richness of the sauce.
Ingredients List
- Chicken Meatballs:
- 1.1 lbs ground chicken (93/7 lean-to-fat ratio recommended)
- 1 tsp grated fresh ginger
- 1 tsp grated fresh garlic
- 1 tsp low-sodium soy sauce
- 1/2 tsp sambal oelek or chili paste
- 1 egg yolk
- 2 tbsp cornstarch
- 1 tbsp chopped fresh cilantro, plus more for garnish
- Thai Peanut Sauce:
- 2 tbsp vegetable oil
- 1 tbsp unsalted butter
- 5 cloves garlic, grated
- 2 tbsp grated fresh ginger
- 1 bok choy, chopped (about 2 cups)
- 1 tbsp red curry paste
- 1 tsp sambal oelek or chili paste
- 1/2 cup chicken broth, low-sodium
- 1 can (15 oz) unsweetened coconut milk
- 1/2 cup creamy peanut butter
- 1 tsp honey
- 2 tbsp low-sodium soy sauce
- 1 tbsp fish sauce
- Juice of 1/2 lime
- Coconut Rice:
- 1 cup unsweetened coconut milk
- 1 cup chicken broth
- 1 cup jasmine rice, rinsed until water runs clear
Ingredient Spotlight
Ground Chicken: This is the backbone of the dish. Look for ground chicken with a little fat — 93/7 is ideal — because leaner blends can dry out during cooking. If you can’t find ground chicken, ground turkey works beautifully. Just add an extra tablespoon of cornstarch to compensate for the lower fat content.
Red Curry Paste: Not all curry pastes are created equal. I use Thai Kitchen or Mae Ploy brand for bold, authentic flavor without artificial additives. Store-bought is perfectly fine — just fry it in oil for 30 seconds to bloom the spices before adding liquid. That tiny step makes a world of difference.
Coconut Milk: Full-fat, unsweetened coconut milk is non-negotiable here. Light coconut milk will make the sauce watery and thin. I also recommend shaking the can well before opening to incorporate the cream that rises to the top. If your coconut milk has separated, whisk it vigorously in a bowl before adding it to the pan.
Fish Sauce: This is your secret umami bomb. A single tablespoon adds a savory depth that salt alone can’t achieve. Red Boat is my go-to brand — it’s clean, well-balanced, and available at most US grocery stores. If you’re sensitive to fish sauce, start with 1/2 tablespoon and taste before adding more.
| Original Ingredient | Best Substitution | Flavor / Texture Impact |
|---|---|---|
| Ground Chicken | Ground Turkey (93/7) | Slightly leaner; add 1 extra tbsp cornstarch for moisture |
| Red Curry Paste | 1 tsp curry powder + 1/2 tsp paprika + pinch cayenne | Milder, less complex; still tasty but not as authentic |
| Coconut Milk | Full-fat coconut cream (diluted with water) | Richer and thicker; use 3/4 cup cream + 1/4 cup water |
| Fish Sauce | 1 tbsp low-sodium soy sauce + 1 tsp anchovy paste | Less pungent but still savory; slight texture difference |
| Sambal Oelek | Sriracha or red pepper flakes (1/2 tsp) | Less garlicky; sriracha adds sweetness, flakes add dry heat |
How to Make Thai Chicken Meatballs with Coconut Peanut Curry — Step-by-Step
This entire meal comes together in one skillet and one saucepan, and I’ll walk you through each step with the exact visual cues I use in my own kitchen. Take your time with the searing — it’s the most important step for flavor.
Step 1: Prepare the Coconut Jasmine Rice
In a small saucepan, combine 1 cup unsweetened coconut milk, 1 cup chicken broth, and 1 cup jasmine rice (rinsed until the water runs clear). Bring to a boil over medium-high heat, then reduce the heat to low, cover, and simmer for 15 minutes. Remove from heat and let it sit, covered, for 5 more minutes — do not lift the lid during this time. Fluff with a fork and set aside. The rice should be tender, fragrant, and slightly creamy but not mushy.
💡 Stella’s Pro Tip: Rinsing the jasmine rice three times removes excess starch and prevents gumminess. For extra fragrance, toast the dry rice in the saucepan for 1 minute over medium heat before adding the liquids.
Step 2: Make the Chicken Meatball Mixture
In a large bowl, combine 1.1 lbs ground chicken, 1 tsp grated ginger, 1 tsp grated garlic, 1 tsp low-sodium soy sauce, 1/2 tsp sambal oelek, 1 egg yolk, 2 tbsp cornstarch, and 1 tbsp chopped cilantro. Mix gently with your hands until just combined — overmixing will make the meatballs dense. Form into 18 to 20 uniform meatballs (about 1 inch in diameter). Wet your hands slightly with cold water to prevent sticking.
⚠️ Common Mistake to Avoid: Don’t add salt directly to the meatball mixture — the soy sauce and fish sauce in the curry provide plenty of sodium. Salting the raw meat can draw out moisture and make the meatballs dry.
Step 3: Sear the Meatballs
Heat 2 tbsp vegetable oil and 1 tbsp unsalted butter in a large, deep skillet or Dutch oven over medium-high heat. Once the butter is foaming and the oil shimmers, add the meatballs in a single layer (work in batches if needed). Cook for 3–4 minutes per side, turning gently with tongs, until deeply golden brown on at least two sides. The meatballs don’t need to be cooked through at this stage — they’ll finish in the sauce. Transfer to a plate and set aside.
💡 Stella’s Pro Tip: Don’t crowd the pan! Overcrowding lowers the pan temperature and the meatballs will steam instead of sear. Leave about 1/2 inch of space between each meatball for a proper golden crust.
Step 4: Build the Creamy Coconut Peanut Curry Sauce
Reduce the heat to medium. Add 5 grated garlic cloves and 2 tbsp grated ginger to the same skillet, stirring constantly for 30 seconds until fragrant. Add 1 chopped bok choy and cook for 1–2 minutes until wilted. Stir in 1 tbsp red curry paste and 1 tsp sambal oelek, cooking for 30 seconds to bloom the spices. Pour in 1/2 cup chicken broth and scrape up any browned bits from the bottom of the pan with a wooden spoon. Add 1 can (15 oz) unsweetened coconut milk, 1/2 cup creamy peanut butter, 1 tsp honey, 2 tbsp soy sauce, and 1 tbsp fish sauce. Whisk until the peanut butter is fully dissolved and the sauce is smooth.
⚠️ Common Mistake to Avoid: If the peanut butter clumps or separates, the heat is too high. Keep the sauce at a gentle simmer — not a rolling boil — and whisk continuously until smooth. Low and slow is the way to go.
Step 5: Simmer and Combine
Return the seared meatballs to the skillet, nestling them into the sauce. Reduce the heat to low, cover, and simmer for 12–15 minutes, turning the meatballs halfway through, until cooked through (internal temperature of 165°F). The sauce will thicken slightly as it simmers. Stir in the juice of 1/2 lime just before serving — the acidity brightens all the flavors.
💡 Stella’s Pro Tip: For an even thicker sauce, remove the lid for the last 3 minutes of simmering. If the sauce gets too thick, add a splash of chicken broth or warm water to thin it to your preferred consistency.
Step 6: Serve and Garnish
Spoon a generous portion of coconut jasmine rice into each bowl. Top with 3–4 meatballs and ladle the creamy coconut peanut curry over the top. Garnish with fresh cilantro leaves, a wedge of lime, and a sprinkle of red pepper flakes or sliced chili if you want extra heat. Serve immediately and watch everyone go silent — that’s the sign of a good meal.
⚠️ Common Mistake to Avoid: Don’t skip the lime juice at the end! The acidity balances the richness of the coconut and peanut butter. Without it, the sauce can taste heavy and one-dimensional.
| Step | Action | Duration | Key Visual Cue |
|---|---|---|---|
| 1 | Cook coconut jasmine rice | 20 mins | Rice is tender, liquid fully absorbed |
| 2 | Mix and shape meatballs | 10 mins | Mixture is cohesive but not sticky |
| 3 | Sear meatballs | 6–8 mins | Deep golden-brown crust on two sides |
| 4 | Build curry sauce | 8 mins | Sauce is smooth, peanut butter fully dissolved |
| 5 | Simmer meatballs in sauce | 12–15 mins | Meatballs reach 165°F internal temp |
| 6 | Serve and garnish | 2 mins | Lime wedges, cilantro, chili flakes on top |
Serving & Presentation
The way I like to serve this is deeply personal: a generous scoop of coconut jasmine rice mounded in the center of a wide, shallow bowl, with the meatballs arranged around it like little golden treasures. I ladle the creamy coconut peanut curry right over the meatballs, letting it pool around the rice. A final sprinkle of fresh cilantro, a wedge of lime on the side, and maybe a few thin slices of red chili if I’m feeling bold — it’s the kind of bowl that demands to be photographed before it’s devoured.
In my NYC apartment, I pair this with a crisp cucumber salad dressed with rice vinegar and sesame oil — the cool crunch is a perfect counterpoint to the rich curry. A cold Singha beer or a tall glass of iced lemongrass tea is my drink of choice. If I’m hosting, I set out small bowls of extra lime wedges, crushed peanuts, and sambal oelek so everyone can customize their heat level. This is the kind of meal that brings people to the table and keeps them there, lingering and talking long after the last bite.
| Pairing Type | Suggestions | Why It Works |
|---|---|---|
| Side Dish | Cucumber salad, steamed edamame, Thai spring rolls | Cool, crunchy textures balance the rich curry |
| Sauce / Dip | Extra lime wedges, sambal oelek, crushed peanuts | Adds brightness, heat, and crunch at the table |
| Beverage | Singha beer, iced lemongrass tea, dry Riesling | Crisp, cold drinks cut through the coconut richness |
| Garnish | Fresh cilantro, lime wedges, sliced red chili, scallions | Fresh herbs and citrus brighten every bite |
Make-Ahead, Storage & Reheating
This Thai chicken meatballs with coconut peanut curry recipe is a meal-prep superstar. I often double the meatball batch on Sunday and freeze half for busy weeknights when I’m running between recipe testing and school drop-off. The sauce actually tastes even better the next day after the flavors have had time to meld — so don’t hesitate to make it a day ahead.
| Method | Container | Duration | Reheating Tip |
|---|---|---|---|
| Refrigerator | Airtight container | 4 days | Reheat gently on stovetop over medium-low, adding a splash of broth or water to thin the sauce |
| Freezer | Freezer-safe container or zip-top bag | 3 months | Thaw overnight in fridge, then reheat on stovetop with 1/4 cup broth to restore sauce consistency |
| Make-Ahead | Separate containers for meatballs + sauce + rice | 2 days in advance | Assemble and reheat together; cook fresh rice day of for best texture |
When reheating, the most important rule is to go low and slow. Microwaving can toughen the meatballs and separate the coconut milk. I reheat mine in a covered skillet over medium-low heat, stirring occasionally, until the meatballs reach 165°F and the sauce is bubbling gently. If the sauce has thickened in the fridge, I add a splash of chicken broth or warm water to loosen it up. The rice is best reheated separately — sprinkle a few drops of water over it, cover, and steam in the microwave for 45 seconds.
One more thing: if you’re making this as a gift for a new parent or a friend in need, pack the meatballs and sauce in one container and the rice in another. Include a note with reheating instructions and a fresh lime wedge wrapped in plastic. It’s a small gesture that makes all the difference — I’ve been on the receiving end of meals like this, and I know firsthand how much it means.
Variations & Easy Swaps
One of the things I love most about this creamy coconut curry meatballs recipe is how adaptable it is. Whether you’re cooking for a family with allergies, trying to eat more vegetables, or just looking to switch things up, there’s a variation here for you. These are all tested in my own kitchen — some inspired by my Moroccan roots, others by my French training, and a few born from a late-night trip to the Union Square farmers market.
| Variation | Key Change | Best For | Difficulty Impact |
|---|---|---|---|
| Spicy Thai Basil | Add Thai basil and extra chili at the end | Herb lovers who want a fresher, perkier flavor | Easy (no technique change) |
| Gluten-Free / Dairy-Free | Use tamari instead of soy sauce; skip butter | Anyone with dietary restrictions | Easy (simple swaps) |
| Seasonal Summer Squash | Replace bok choy with zucchini and yellow squash | Summer produce lovers | Easy (same cooking method) |
Spicy Thai Basil Variation
Inspired by the Thai basil chicken I fell in love with at a tiny restaurant in Hell’s Kitchen, this variation adds a handful of fresh Thai basil leaves — stirred in just before serving. The anise-like flavor of Thai basil is a stunning counterpoint to the creamy coconut peanut curry. I also toss in an extra teaspoon of sambal oelek and a pinch of red pepper flakes for heat. The basil should be added off the heat so it wilts gently without turning bitter. This version is bright, herbaceous, and absolutely addictive.
Gluten-Free / Dairy-Free Adaptation
This is incredibly easy: swap the low-sodium soy sauce for tamari or coconut aminos (both are gluten-free), and replace the 1 tbsp unsalted butter with an additional 1 tbsp of vegetable oil or coconut oil. The rest of the recipe is naturally gluten-free and dairy-free. The flavor difference is negligible — tamari is slightly richer, and coconut oil adds a subtle tropical note that complements the Thai flavors beautifully. I’ve served this version to friends with celiac disease and they couldn’t tell the difference.
Seasonal Summer Squash Twist
When bok choy isn’t in season (or when my CSA box is overflowing with zucchini), I swap in 1 cup diced zucchini and 1 cup diced yellow squash. I add them in Step 4, right after the garlic and ginger, and cook for 2–3 minutes until they start to soften. The squash soaks up the curry sauce beautifully and adds a subtle sweetness that balances the heat. This is a great way to use up farmers market finds — I discovered this variation one August evening when my fridge was bursting with summer produce and it’s been a favorite ever since.
What is the best way to keep Thai chicken meatballs moist and tender?
The secret to moist Thai chicken meatballs is threefold. First, use ground chicken with a little fat — 93/7 lean-to-fat ratio is ideal. Second, bind the mixture with an egg yolk and two tablespoons of cornstarch. The yolk adds fat and emulsifying power, while the cornstarch locks in moisture during cooking. Third — and this is crucial — do not overmix the meatball mixture. Mix just until everything is combined, then stop. Overmixing develops the proteins and makes the meatballs dense and tough. Finally, sear the meatballs in butter and oil over medium-high heat for a golden crust, then finish them gently in the simmering curry sauce. This low-and-slow finish keeps them tender and juicy throughout.
Can I use a different nut butter instead of peanut in the creamy coconut curry sauce?
Absolutely! Almond butter, cashew butter, and sunflower seed butter all work beautifully in this creamy coconut peanut curry sauce. Almond butter gives a slightly sweeter, more delicate flavor with a thinner consistency — perfect if you want a milder sauce. Cashew butter is the closest to peanut in richness and creates an even silkier texture. Sunflower seed butter is a great nut-free option for those with allergies; just be aware it will turn the sauce a slightly gray-green color (still delicious, just not as pretty). Whatever you choose, make sure it’s a creamy, unsweetened, and unsalted variety. Stir it in slowly and whisk until fully dissolved to prevent clumping.
How do I cook fragrant coconut jasmine rice so it isn’t too sticky or mushy?
The key to perfectly fluffy coconut jasmine rice is rinsing and the right liquid ratio. Rinse the jasmine rice in a fine-mesh strainer under cold running water for at least 30 seconds, swirling with your hand, until the water runs clear — this washes away excess starch that causes gumminess. For the cooking liquid, use a 1:1 ratio of coconut milk to chicken broth (1 cup each for 1 cup of rice). Bring to a boil, then reduce to the lowest possible simmer, cover tightly, and cook for 15 minutes without lifting the lid. After 15 minutes, remove from heat and let it steam, still covered, for 5 more minutes. Finally, fluff gently with a fork — never a spoon, which can mash the grains. The result is fragrant, separate, and deliciously tender.
Can I make the golden Thai chicken meatballs ahead of time and reheat them?
Yes, this Thai chicken meatballs with coconut peanut curry recipe is excellent for meal prep. You can fully cook the meatballs and sauce, then store them together in an airtight container in the refrigerator for up to 4 days. The flavors actually deepen and meld overnight, making the leftovers even more delicious. To reheat, transfer the meatballs and sauce to a covered skillet over medium-low heat and warm gently for 8–10 minutes, stirring occasionally, until the meatballs reach 165°F internal temperature. Add a splash of chicken broth or water if the sauce has thickened too much. I recommend cooking the coconut jasmine rice fresh the day you serve it for the best texture — refrigerated rice tends to dry out and can become mushy when reheated.
What can I use instead of ground chicken in this Thai meatball recipe?
Ground turkey (93/7 lean) is the best substitute for ground chicken in this recipe. It has a very similar texture and fat content, so no adjustments are needed — though I do recommend adding an extra tablespoon of cornstarch for extra moisture insurance. Ground pork also works beautifully and adds even more richness, but the flavor profile shifts slightly away from the lighter Thai chicken meatball taste. For a vegetarian version, use plant-based ground meat substitute (like Impossible or Beyond) and reduce the cornstarch to 1 tablespoon, as these products already contain binders. Regardless of your choice, the same searing and simmering technique applies.
Is this creamy coconut curry meatballs recipe spicy? How can I adjust the heat level?
This recipe has a gentle warmth — think cozy, not fiery. The sambal oelek and red curry paste create a mild-to-medium heat that’s balanced by the creamy coconut milk and peanut butter. To make it milder, reduce the sambal oelek to 1/4 teaspoon and use a mild red curry paste (look for one labeled “mild” or “medium” — Thai Kitchen brand is on the gentler side). To amp up the heat, add an extra teaspoon of sambal oelek, a pinch of cayenne pepper, or a few sliced bird’s eye chilies in Step 4. I always serve extra sambal oelek and sliced chilies at the table so everyone can customize their own bowl. My teenage son loves it as written; my husband adds three extra dashes of sriracha to his.
Share Your Version!
I absolutely love hearing from you — every comment, star rating, and photo makes my day and helps other home cooks discover this Thai peanut chicken meatballs recipe. If you made this creamy coconut curry meatballs recipe, I’d be so grateful if you’d leave a star rating and a comment below sharing how it turned out. Did you add a twist? Swap an ingredient? Serve it with something unexpected? Tell me all about it!
And here’s a question I’d love for you to answer in the comments: What’s the one dish from your childhood that you’ve reimagined as an adult? For me, it’s my mother’s Moroccan kefta meatballs — they inspired the tender, spiced meatballs in this very bowl. I can’t wait to read your stories. From my NYC kitchen to yours — I hope this recipe brings as much warmth to your table as it does to mine. — Stella 🧡
⭐️ Loved this recipe? Share the love!
Tap the stars below to leave a rating, tag @leosfoods on Instagram with your creations, and save this post to Pinterest for later. Your support means the world to me and helps other food lovers find this dish too. 🧡
Love This Recipe? Save It to Pinterest!
If you enjoyed this Golden Thai Chicken Meatballs with Creamy Coconut Peanut Curry and Fragrant Coconut Jasmine Rice recipe, don’t let it get lost in your browser tabs! 😄 Pin it now so you can find it again anytime — and explore hundreds more tried-and-tested recipes waiting for you on my Pinterest boards.
👉 Follow Stella on Pinterest @stellarecipeblog
📌 Pin this recipe · 🔁 Re-pin your favorites · 💬 Tag me when you make it — I love seeing your creations!
Golden Thai Chicken Meatballs with Creamy Coconut Peanut Curry and Fragrant Coconut Jasmine Rice
Ingredients
- Chicken Meatballs:
- 1.1 lbs ground chicken
- 1 tsp grated ginger
- 1 tsp grated garlic
- 1 tsp low-sodium soy sauce
- 1/2 tsp sambal oelek or chili paste
- 1 egg yolk
- 2 tbsp cornstarch
- 1 tbsp chopped fresh cilantro
- Thai Peanut Sauce:
- 2 tbsp vegetable oil
- 1 tbsp unsalted butter
- 5 cloves garlic, grated
- 2 tbsp grated ginger
- 1 bok choy, chopped
- 1 tbsp red curry paste
- 1 tsp sambal oelek or chili paste
- 1/2 cup chicken broth
- 1 can (15 oz) unsweetened coconut milk
- 1/2 cup creamy peanut butter
- 1 tsp honey
- 2 tbsp low-sodium soy sauce
- 1 tbsp fish sauce
- Juice of 1/2 lime
- Coconut Rice:
- 1 cup unsweetened coconut milk
- 1 cup chicken broth
- 1 cup jasmine rice
Instructions

Tried This Recipe? Leave a Comment!
Did you make this recipe? I’d love to hear how it turned out! Please leave a comment and a rating below. Your feedback helps other home cooks and supports cheerychop.com!
For more delicious inspiration, follow me on Pinterest!
