Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 lb (900 g) bone-in, skin-on chicken thighs
- 2 tbsp neutral oil, plus 2 tsp annatto seeds or 1/2 tsp paprika (optional for color)
- 2 tbsp mild Vietnamese curry powder, divided
- 1 tsp ground turmeric
- 1 tbsp fish sauce, plus more to taste
- 1.5 tsp kosher salt, divided; 2 tsp sugar, divided; black pepper
- 3 garlic cloves, minced
- 2 lemongrass stalks (1 minced, 1 bruised)
- 1 medium yellow onion, thinly sliced
- 1 can (13.5 oz/400 ml) full-fat coconut milk
- 2 cups (480 ml) low-sodium chicken stock
- 1 lb (450 g) sweet potato, in 1.5-inch chunks
- 2 medium carrots, in 1-inch pieces
- Lime, cilantro, scallions, red chili (garnish)
Do This
- 1. Marinate chicken 30 minutes with 1 tbsp curry powder, turmeric, fish sauce, 1 tsp salt, 1 tsp sugar, garlic, minced lemongrass, and pepper.
- 2. Make annatto oil (optional): warm oil with annatto seeds 2–3 minutes; strain. Sear chicken 6–8 minutes until lightly browned.
- 3. Sauté onion in the pot 3 minutes; stir in remaining 1 tbsp curry powder 30 seconds.
- 4. Add coconut milk, stock, and bruised lemongrass; return chicken, bring to a simmer.
- 5. Simmer 20–25 minutes until chicken reaches 165°F/74°C.
- 6. Add sweet potato and carrots; cook 12–15 minutes until tender. Finish with a splash of coconut cream, fish sauce, sugar, and lime. Garnish and serve with rice or warm baguette.
Why You’ll Love This Recipe
- Classic Vietnamese comfort: fragrant lemongrass and mild curry powder in a velvety coconut broth.
- Balanced and family-friendly heat with naturally sweet carrots and sweet potato.
- Make-ahead friendly—tastes even better the next day.
- Equally perfect with steamed jasmine rice or a warm, crusty baguette.
Grocery List
- Produce: Lemongrass, garlic, yellow onion, sweet potato, carrots, cilantro, scallions, lime, red chili (optional)
- Dairy: None
- Pantry: Bone-in chicken thighs, mild Vietnamese curry powder, turmeric, coconut milk, chicken stock, fish sauce, sugar, kosher salt, black pepper, neutral oil, annatto seeds or paprika (optional), bay leaf (optional), jasmine rice or baguette
Full Ingredients
Chicken & Marinade
- 2 lb (900 g) bone-in, skin-on chicken thighs (about 6 pieces)
- 1 tbsp mild Vietnamese curry powder
- 1 tsp ground turmeric
- 1 tbsp fish sauce
- 1 tsp kosher salt
- 1 tsp sugar
- 3 garlic cloves, minced
- 1 tbsp finely minced lemongrass (from the tender white end of 1 stalk)
- 1/2 tsp freshly ground black pepper
For Searing & Color
- 2 tbsp neutral oil (canola, sunflower, or rice bran)
- Optional: 2 tsp annatto seeds (to tint the oil) or 1/2 tsp sweet paprika
Curry Base
- 1 medium yellow onion, thinly sliced
- 1 lemongrass stalk, trimmed and lightly bruised (keep whole)
- 1 bay leaf (optional)
- 1 tbsp mild Vietnamese curry powder
- 1 can (13.5 oz/400 ml) full-fat coconut milk, shaken well
- 2 cups (480 ml) low-sodium chicken stock
Vegetables
- 1 lb (450 g) orange-fleshed sweet potato, peeled and cut into 1.5-inch chunks
- 2 medium carrots, peeled and cut into 1-inch pieces
Finish & Garnish
- 1/4 cup (60 ml) thick coconut cream (scooped from the top of the can) or reserved coconut milk
- 1–2 tsp fish sauce, to taste
- 1 tsp sugar, to taste
- 1/2 tsp kosher salt, or to taste
- 1 tbsp fresh lime juice
- 2 tbsp chopped cilantro leaves
- 2 tbsp thinly sliced scallions
- Thinly sliced red chili, for heat (optional)
To Serve
- Steamed jasmine rice or a warm baguette (warm baguette at 350°F/175°C for 5–7 minutes, optional)

Step-by-Step Instructions
Step 1: Prep aromatics and vegetables
Trim the lemongrass: remove tough outer layers, then finely mince the tender white end of one stalk (for the marinade) and lightly bruise the second stalk with the back of a knife to release aroma. Slice the onion. Peel and cut the sweet potato into 1.5-inch chunks and the carrots into 1-inch pieces. Set aside.
Step 2: Marinate the chicken (30 minutes)
In a large bowl, combine 1 tbsp curry powder, turmeric, fish sauce, 1 tsp salt, 1 tsp sugar, garlic, minced lemongrass, and black pepper. Add chicken thighs and rub well to coat. Marinate at room temperature for 30 minutes (or refrigerate up to 12 hours; bring to room temp 20 minutes before cooking).
Step 3: Make annatto oil and sear
In a wide, heavy pot (Dutch oven), warm 1 tbsp oil over medium heat with annatto seeds until they sizzle and tint the oil, 2–3 minutes. Strain and discard seeds. If using paprika instead, warm oil and stir in paprika off heat. Return pot to medium. Add the chicken skin-side down and sear until lightly browned, 4–5 minutes; flip and sear 2–3 minutes. Transfer chicken to a plate. Pour off excess fat, leaving about 1 tbsp in the pot.
Step 4: Build the curry base
Add the sliced onion to the pot and sauté until translucent, 3 minutes. Stir in 1 tbsp curry powder for 30 seconds until fragrant. Add the bruised lemongrass stalk and bay leaf (if using). Pour in the coconut milk and chicken stock, scraping up browned bits from the bottom. Return the chicken and any juices to the pot.
Step 5: Simmer the chicken
Bring just to a boil, then immediately reduce to a gentle simmer. Partially cover and cook 20–25 minutes, adjusting heat to maintain a quiet simmer. The chicken is done when it is tender and the thickest part reaches 165°F/74°C on an instant-read thermometer.
Step 6: Add sweet potato and carrot
Stir in the sweet potato and carrots. Simmer uncovered until the vegetables are tender but still hold their shape, 12–15 minutes. Remove and discard the lemongrass stalk (and bay leaf, if used).
Step 7: Finish and balance
Stir in the coconut cream. Season to taste with 1–2 tsp fish sauce, 1 tsp sugar, and 1/2 tsp salt as needed. Add lime juice to brighten. For a slightly thicker, velvety sauce, simmer 3–5 minutes more; for a thinner sauce, add a splash of stock or water. Taste and adjust salt, sweetness, and acidity until the flavors are balanced.
Step 8: Serve
Let the curry rest 5 minutes. Ladle into warm bowls and garnish with cilantro, scallions, and red chili. Serve with steamed jasmine rice or warm baguette (warmed at 350°F/175°C for 5–7 minutes). Spoon plenty of sauce over the chicken so every bite is lush and aromatic.
Pro Tips
- Use mild Vietnamese curry powder for authentic flavor; it is more aromatic and less spicy than many Indian blends.
- Keep the simmer gentle—boiling can cause coconut milk to separate. If it does, whisk in a tablespoon of cold coconut milk to bring it back together.
- Cut vegetables larger than you think (1.5-inch sweet potato, 1-inch carrot) so they stay intact during simmering.
- Annatto oil gives the curry its signature sunset hue; paprika is a quick stand-in if you do not have annatto seeds.
- Bone-in thighs add body and flavor; if using boneless, reduce chicken simmer time by 5–7 minutes.
Variations
- Instant Pot: Use Sauté to make annatto oil, sear chicken, and sauté onion/curry powder. Add coconut milk, stock, and lemongrass; pressure cook on High for 8 minutes with 10-minute natural release. Add vegetables and simmer on Sauté 8–10 minutes until tender. Finish and season as directed.
- Vegetarian Ca Ri Chay: Replace chicken with 16 oz (450 g) extra-firm tofu (pressed, cut into cubes) and 8 oz (225 g) mushrooms. Use vegetable stock and soy sauce or vegan fish sauce. Simmer vegetables until tender; gently fold tofu in at the end.
- Extra Creamy: Stir in an additional 1/2 cup (120 ml) coconut cream at the finish for an ultra-luxurious sauce.
Storage & Make-Ahead
Marinate chicken up to 12–24 hours ahead. The finished curry keeps 4 days refrigerated in an airtight container or freezes up to 3 months. Reheat gently on the stovetop over medium-low until it reaches a simmer and the chicken is 165°F/74°C, adding a splash of stock or water if the sauce is too thick. Flavor deepens on day two—great for meal prep.
Nutrition (per serving)
Approximate values (without rice or bread): 490 calories; 26 g protein; 23 g carbohydrates; 30 g fat; 18 g saturated fat; 3 g fiber; 900 mg sodium.
