
Thai Red Curry Meatballs
Tender chicken meatballs seasoned with red curry paste, cilantro, and scallion are browned, then simmered in a fragrant coconut red curry sauce with kaffir lime leaves and sweet bell pepper. Served over jasmine rice, it is a one-skillet weeknight dinner with big Thai flavor.
- Prep
- 30 min
- Cook
- 32 min
- Wait
- 12 min
- Total
- 1 hr 14 min
- Makes
- About 20 meatballs in sauce, with rice (4 servings)
Steps
Before you start
- Shake the can of coconut milk well before opening so the cream and liquid are blended.
- Red curry pastes vary a lot in heat and saltiness. Check the label, and start with the lower amounts of fish sauce given if your paste tastes very salty.
- Lime leaves are sold fresh or frozen at Asian markets. Use them straight from the freezer if frozen, with no thawing needed.
- Read the timing: the rice is started while the meatballs chill so everything finishes together. No oven is needed; everything is cooked on the stovetop.
Prep the vegetables
- Rinse the rice, then grate the garlic, slice the scallions, chop the cilantro, tear the lime leaves, and cut the bell pepper into ½-inch (1.25 cm) strips.
- Keep the pepper and basil separate from the meatball aromatics, since they go in later.
+ Show details− Hide details
Ready when: Everything is chopped and ready in small piles or bowls.
Tip: Rinsing the rice removes surface starch so the cooked grains stay separate, not gummy.
Mix the meatballs
- In a large bowl, combine the panko, beaten egg, 2 tbsp curry paste, garlic, scallions, cilantro, and 1 tbsp fish sauce.
- Stir to a loose paste, then add the ground chicken.
- Mix gently with your hands for about 30 seconds, just until the ingredients are evenly combined.
+ Show details− Hide details
Ready when: The mixture is sticky and uniform, with no streaks of curry paste or dry panko.
Tip: Don't overmix. Overworked chicken turns rubbery. The mixture will be soft and tacky, which is correct.
Shape and chill
- Line a large tray or plate with parchment.
- With damp hands (or a small scoop), portion about 1 heaped tablespoon (roughly 28 g) of mixture at a time and roll into smooth balls about 1¼ inches (3 cm) wide.
- You should get about 20.
- Place on the tray and refrigerate for 10 minutes so they firm up and hold their shape in the pan.
+ Show details− Hide details
Ready when: Meatballs feel set and slightly firm to the touch.
Tip: Re-dampen your hands with water whenever the mixture starts sticking to them.
Start the rice
- Combine the rinsed rice, 1½ cups (360 ml) water, and ½ tsp salt in a medium saucepan.
- Bring to a boil over high heat, then stir once, cover tightly, and reduce to low.
- Cook for 12 minutes, then turn off the heat and leave covered, without lifting the lid, while you make the curry.
- It will finish steaming in about 10 minutes.
+ Show details− Hide details
Ready when: All the water is absorbed and the rice is tender and fluffy after resting.
Tip: Resist lifting the lid, since the steam is what finishes cooking the rice.
Brown the meatballs
- Heat the oil in a 12-inch (30 cm) deep skillet over medium-high heat until it shimmers.
- Add half the meatballs, spaced apart, and cook 3 to 4 minutes, turning occasionally, until browned on most sides.
- Transfer to a clean plate and repeat with the remaining meatballs.
- They will not be cooked through yet.
+ Show details− Hide details
Ready when: Meatballs are golden-brown in patches and release easily from the pan.
Tip: Leave the meatballs alone for the first minute so a crust forms. If you move them too soon they stick and tear.
Build the curry sauce
- Reduce the heat to medium and pour off all but 1 tsp of fat if there is excess.
- Add 3 tbsp curry paste and stir constantly for 1 minute, mashing it into the pan.
- Pour in the coconut milk and chicken broth, scraping up the browned bits.
- Add the lime leaves, brown sugar, and 1 tbsp fish sauce, and bring to a gentle bubble.
+ Show details− Hide details
Ready when: The paste smells fragrant and darkens slightly, and the sauce is smooth and orange-red.
Tip: Keep the sauce at a gentle bubble, not a hard boil, so the coconut milk doesn't split.
Simmer the meatballs
- Return the meatballs and any juices to the skillet and nestle them into the sauce.
- Reduce the heat to medium-low, partially cover, and simmer for 12 minutes, gently turning the meatballs once halfway through.
+ Show details− Hide details
Ready when: An instant-read thermometer inserted in the center of a meatball reads 165°F (74°C), and the sauce has thickened slightly.
Tip: Check the temperature of at least two meatballs, including one of the larger ones.
Add the bell pepper
- Scatter the bell pepper strips over and around the meatballs.
- Cover partially and simmer over medium-low heat for 4 minutes, until the peppers are crisp-tender.
+ Show details− Hide details
Ready when: Peppers are bright and slightly softened but still hold a little bite.
Finish and season
- Turn off the heat.
- Stir in the lime juice and half the Thai basil.
- Taste the sauce and adjust: add a splash more fish sauce for salt, a pinch of sugar for sweetness, or a squeeze more lime for brightness.
- Fish out the lime leaves if you like, since they are not eaten.
+ Show details− Hide details
Ready when: The sauce tastes balanced: salty, a little sweet, tangy, and aromatic with basil.
Tip: Add the lime and basil off the heat. Boiling dulls both their flavor and color.
Serve
- Fluff the rice with a fork and divide among four bowls.
- Spoon over 5 meatballs per bowl with plenty of sauce and peppers, and top with the remaining Thai basil.
- Serve hot.
Good to know
Tips
- Use chicken thigh meat if you can find it. It stays juicier than breast in the simmering sauce.
- Brown the meatballs in two batches so they sear instead of steam.
- For a spicier curry, add 1 more tbsp of curry paste to the sauce or a few sliced Thai chilies with the bell pepper. For a milder one, use 2 tbsp of paste in the sauce.
- Don't use light coconut milk. It makes a thin sauce and is more likely to split.
Make ahead
Shape the raw meatballs up to 1 day ahead, cover, and refrigerate on the tray. The finished curry (without the lime juice and basil) can be made up to 2 days ahead; reheat gently, then add the lime juice and basil just before serving.
Storage & reheating
Room temperature: up to 2 hours. Refrigerator: store meatballs and sauce in an airtight container for up to 4 days; store rice separately. Freezer: up to 3 months (the sauce may look slightly separated after thawing). Reheat in a covered skillet over low heat with a splash of water or broth, stirring gently, until steaming hot and 165°F (74°C) in the center. Whisk the sauce to bring it back together.
Substitutions
- ground chicken, preferably thigh meat → ground turkey or ground pork. Pork gives richer meatballs. Turkey breast is leaner, so keep the simmer to 12 minutes to avoid drying. Cook pork to 160°F (71°C), turkey to 165°F (74°C).
- kaffir (makrut) lime leaves → 1 tsp finely grated lime zest plus 1 extra tsp lime juice at the end. Gives a similar citrusy brightness, though less floral. Add the zest with the lime juice.
- Thai basil leaves → regular basil with a few fresh mint leaves. Thai basil has an anise note; regular basil is sweeter and milder.
- fish sauce → soy sauce (use the same amount for each fish sauce measure). Works for both the meatballs and the sauce. The flavor is less funky, so add a squeeze more lime at the end.