Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 cups jasmine rice, rinsed + 2 1/2 cups water
- 8 small Thai green chilies (or 3–4 for milder), stemmed
- 1 small shallot, peeled
- 4 garlic cloves, peeled
- 1 lemongrass stalk (tender inner part only), chopped
- 1 piece (1 inch) galangal or ginger, sliced
- Zest of 1 lime
- 1/2 cup packed cilantro stems (and roots if available)
- 1 tsp ground coriander, 1 tsp ground cumin, 1/2 tsp white pepper
- 1 tbsp shrimp paste or 2 anchovy fillets (optional)
- 1/2 tsp fine sea salt
- 1 1/4 lb (570 g) boneless, skinless chicken thighs, bite-size
- 2 tbsp neutral oil
- 2 cans (13.5 oz / 400 ml each) full-fat coconut milk
- 1/2 cup low-sodium chicken stock or water
- 1 cup thinly sliced carrots
- 1 red bell pepper, thin strips
- 1 cup green beans, trimmed and cut into 1-inch pieces
- 1 small zucchini, halved and sliced
- 3–4 kaffir lime leaves, torn
- 1 1/2 tbsp fish sauce (plus more to taste)
- 1 1/2 tbsp grated palm sugar (or light brown sugar)
- 1 cup loosely packed Thai basil leaves
- 2 tbsp cilantro leaves, for garnish
- 1 tbsp fresh lime juice, plus lime wedges for serving
Do This
- 1. Cook jasmine rice: combine rice and water, bring to a boil, then cover and simmer on low for 15 minutes; rest 10 minutes covered.
- 2. Make paste: blend or pound chilies, shallot, garlic, lemongrass, galangal/ginger, lime zest, cilantro stems, spices, shrimp paste, and salt into a smooth green paste.
- 3. Fry paste: in a wide pan, heat oil and 1/2 cup thick coconut cream over medium; stir in curry paste and fry 3–4 minutes until fragrant and glossy.
- 4. Add chicken: stir in chicken and cook 3–4 minutes until lightly opaque, coating it well in the paste.
- 5. Build sauce: add remaining coconut milk, stock, and kaffir lime leaves; simmer gently 10–12 minutes until chicken is just cooked.
- 6. Add vegetables: stir in carrots, bell pepper, green beans, and zucchini; simmer 5–7 minutes until crisp-tender, then season with fish sauce, palm sugar, and lime juice.
- 7. Finish and serve: stir in Thai basil, taste and adjust seasoning, then ladle curry over jasmine rice and garnish with cilantro and extra basil.
Why You’ll Love This Recipe
- Classic Thai flavors made approachable for home cooks, with clear steps and everyday equipment.
- Deep, fragrant green curry paste made from scratch for brighter, fresher taste than store-bought.
- Balanced sauce: creamy coconut, savory fish sauce, gentle sweetness, and just the right heat.
- Flexible and forgiving: swap in your favorite vegetables or adjust the spice level to your taste.
Grocery List
- Produce: Thai green chilies (or other green chilies), shallot, garlic, lemongrass, galangal or ginger, cilantro, Thai basil, limes, kaffir lime leaves, carrots, red bell pepper, green beans, zucchini.
- Dairy: None.
- Pantry: Jasmine rice, full-fat coconut milk, neutral oil, fish sauce, palm sugar (or light brown sugar), ground coriander, ground cumin, white pepper, shrimp paste or anchovies (optional), low-sodium chicken stock or bouillon, fine sea salt, black pepper.
Full Ingredients
For the Jasmine Rice
- 2 cups jasmine rice, rinsed under cold water until water runs mostly clear
- 2 1/2 cups water
- 1/4 tsp fine sea salt (optional)
For the Homemade Green Curry Paste
- 8 small Thai green chilies, stemmed (use 3–4 for mild, 8–10 for hot)
- 1 small shallot (about 1 1/2 oz / 40 g), peeled and roughly chopped
- 4 garlic cloves, peeled
- 1 lemongrass stalk, outer leaves removed; use the tender inner 4–5 inches, thinly sliced
- 1 piece (1 inch / 2.5 cm) galangal or fresh ginger, peeled and sliced
- Zest of 1 lime (or 4–5 thin strips of kaffir lime peel if available)
- 1/2 cup (lightly packed) cilantro stems and roots if available, roughly chopped
- 1 tsp ground coriander
- 1 tsp ground cumin
- 1/2 tsp ground white pepper (or black pepper in a pinch)
- 1 tbsp shrimp paste or 2 anchovy fillets, drained (optional but traditional)
- 1/2 tsp fine sea salt
- 2–3 tbsp water, as needed, if using a blender
For the Green Curry
- 2 tbsp neutral oil (such as canola, sunflower, or grapeseed)
- 2 cans (13.5 oz / 400 ml each) full-fat coconut milk, shaken well
- 1 1/4 lb (570 g) boneless, skinless chicken thighs, trimmed and cut into bite-size strips or pieces
- 1/2 cup low-sodium chicken stock or water, plus more as needed to adjust thickness
- 3–4 kaffir lime leaves, torn in half (remove central stem if tough)
- 1 cup (about 100 g) thinly sliced carrots (on the diagonal looks nice)
- 1 medium red bell pepper, seeded and cut into thin strips
- 1 cup (about 100 g) green beans, trimmed and cut into 1-inch (2.5 cm) pieces
- 1 small zucchini, halved lengthwise and sliced into 1/4-inch half-moons
- 1 1/2 tbsp fish sauce, plus more to taste
- 1 1/2 tbsp finely grated palm sugar (or packed light brown sugar)
- 1 tbsp fresh lime juice (about 1/2 lime), plus wedges for serving
- 1 cup loosely packed Thai basil leaves (or sweet basil if Thai basil is unavailable)
To Serve & Garnish
- Cooked jasmine rice (from above)
- 2 tbsp fresh cilantro leaves, roughly chopped
- Extra Thai basil leaves, to taste
- Extra sliced green or red chilies (optional, for more heat)
- Lime wedges

Step-by-Step Instructions
Step 1: Cook the Jasmine Rice
Place the rinsed jasmine rice in a medium saucepan with a tight-fitting lid. Add the 2 1/2 cups water and the salt (if using). Bring to a gentle boil over medium-high heat.
As soon as the water reaches a boil, give the rice a quick stir, reduce the heat to low, and cover with the lid. Simmer on low heat for 15 minutes without lifting the lid. After 15 minutes, turn off the heat and let the rice sit, still covered, for an additional 10 minutes to steam. Fluff gently with a fork before serving.
Step 2: Make the Green Curry Paste
While the rice cooks, prepare the curry paste. Add the chilies, chopped shallot, garlic, sliced lemongrass, galangal or ginger, lime zest, and chopped cilantro stems to a mortar and pestle or a small food processor/blender. Add the ground coriander, ground cumin, white pepper, shrimp paste (if using), and salt.
If using a mortar and pestle, pound for 7–10 minutes until you have a fairly smooth, vibrant green paste with no large chunks. If using a blender or food processor, add 2–3 tablespoons of water and blend, scraping down the sides as needed, until smooth. The paste should be thick but spreadable. Set aside.
Step 3: Prep the Chicken and Vegetables
Trim any excess fat from the chicken thighs and cut them into bite-size strips or chunks, about 3/4–1 inch. Pat the pieces dry with a paper towel and lightly season with a pinch of salt. This helps them sear better and keeps the curry from getting watery.
Prepare the vegetables: slice the carrots thinly on a diagonal, cut the red bell pepper into thin strips, trim and cut the green beans into 1-inch pieces, and slice the zucchini into half-moons. Tear the kaffir lime leaves in half to help release their oils, and rinse and pick the Thai basil leaves from the stems. Keep everything close to the stove for quick cooking.
Step 4: Fry the Curry Paste in Coconut Cream
Open the cans of coconut milk. If there is a thick cream layer on top, spoon off about 1/2 cup and set aside; this will be your “coconut cream” for frying the paste. If the coconut milk is homogeneous, simply use 1/2 cup from one can.
In a large, wide saucepan or deep skillet, heat the neutral oil over medium heat. Add the reserved 1/2 cup coconut cream and cook for 1–2 minutes, stirring, until it starts to thicken and small bubbles form. Add all of the green curry paste and cook, stirring frequently, for 3–4 minutes.
The paste should become very fragrant, darken slightly, and you should see the oil separating around the edges. This step is crucial for developing flavor, so do not rush it—keep the heat at medium so it does not burn.
Step 5: Simmer the Curry with the Chicken
Add the chicken pieces to the pan with the fried curry paste. Stir well to coat the chicken in the paste and cook for 3–4 minutes over medium heat until the exterior of the chicken turns opaque but is not fully cooked through.
Pour in the remaining coconut milk and the 1/2 cup chicken stock or water. Add the torn kaffir lime leaves. Stir to combine and bring the mixture to a gentle simmer over medium heat, then reduce the heat to medium-low. Simmer gently for 10–12 minutes, uncovered, until the chicken is cooked through and tender. Avoid a hard boil, which can cause the coconut milk to split.
Step 6: Add the Vegetables and Season the Sauce
Once the chicken is just cooked, add the sliced carrots, bell pepper, green beans, and zucchini to the pan. Stir well and continue to simmer over medium-low heat for 5–7 minutes, until the vegetables are crisp-tender. If the sauce becomes too thick at any point, add a splash more stock or water.
Stir in the fish sauce and palm sugar until dissolved, then add the lime juice. Taste the curry and adjust: add more fish sauce for saltiness and depth, more sugar for balance, or more lime juice for brightness. The flavor should be a harmonious balance of salty, sweet, spicy, and tangy.
Turn off the heat and gently fold in the Thai basil leaves so they wilt in the residual heat without turning black.
Step 7: Serve Over Jasmine Rice and Garnish
Fluff the steamed jasmine rice and divide it among four warm bowls or plates. Ladle the fragrant green curry over the rice, making sure each serving gets a generous mix of chicken, vegetables, and plenty of sauce.
Garnish with chopped cilantro, extra Thai basil leaves, and sliced fresh chilies if you like more heat. Serve immediately with lime wedges on the side for squeezing over just before eating. Enjoy the curry hot, with the jasmine rice soaking up the rich, aromatic coconut sauce.
Pro Tips
- Control the heat: Start with fewer chilies if you are sensitive to spice; you can always add a sliced chili to individual bowls later.
- Fry the paste properly: Take your time in Step 4. When the paste smells toasty and aromatic and you see the oil separate, you know the flavors are developed.
- Do not boil hard: Keep the curry at a gentle simmer so the coconut milk stays smooth and creamy rather than curdling.
- Use thigh meat for juiciness: Chicken thighs stay tender and forgiving; if you use breast, cut it larger and reduce the simmer time a bit.
- Add vegetables in stages if needed: Harder vegetables (like carrots) can go in a minute or two before softer ones (like bell pepper and zucchini) for perfect texture.
Variations
- Vegetarian / Vegan Green Curry: Replace the chicken with firm tofu cubes and extra vegetables (broccoli, eggplant, snap peas). Use vegetarian “fish” sauce or soy sauce/tamari instead of fish sauce, and omit the shrimp paste.
- Seafood Green Curry: Swap the chicken for peeled shrimp, scallops, or a mix of firm white fish and shrimp. Add seafood during the last 3–5 minutes of simmering so it does not overcook.
- Milder, family-friendly version: Use mild green chilies or reduce the number of Thai chilies to 2–3, and stir in a little extra coconut milk at the end to soften the heat.
Storage & Make-Ahead
Leftover green curry keeps well and often tastes even better the next day. Cool completely, then store the curry (without rice) in an airtight container in the refrigerator for up to 3–4 days. Store the cooked rice separately for 3–4 days, or cook fresh rice when serving leftovers for the best texture.
To reheat, warm the curry gently in a saucepan over low to medium-low heat, stirring occasionally, until steaming hot, about 5–8 minutes. Add a splash of water or coconut milk if the sauce has thickened too much. You can also freeze the curry (without basil, if possible) for up to 2–3 months. Thaw overnight in the refrigerator before reheating. Add a handful of fresh Thai basil and a squeeze of lime just before serving to refresh the flavors.
Nutrition (per serving)
Approximate values, including rice (1/4 of the recipe): about 820 calories; 45 g fat (32 g saturated); 70 g carbohydrates; 4 g fiber; 12 g sugar; 32 g protein; 1100 mg sodium. Exact values will vary based on specific brands of coconut milk, fish sauce, and the amount of rice and vegetables served.
