Thailand · Southeast Asia

Thai Goat Curry Recipe with Coconut Milk

Updated November 2, 2026

Total time
3 hr 28 min
prep 30 min · cook 2 hr 58 min
Serves
6
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece
Cuisine
Thailand
Southeast Asia

Jump to recipe

Thai Goat Curry Recipe with Coconut Milk

This Thai goat curry is a southern Thai-inspired braise of goat, coconut milk, curry paste, potatoes, and warming spices, served with rice to catch the rich sauce. Thai curries vary by region and household; this version balances savory, gently spicy, tangy, and sweet flavors while giving goat time to become tender.

Ingredients

  • 3 lb (1.36 kg) bone-in goat shoulder or leg, cut into 2-inch (5 cm) pieces; ask the butcher to cut through the bone, or use boneless goat cut into large chunks
  • 2 tbsp (30 ml) neutral oil, such as canola or sunflower oil
  • 1 medium yellow onion, finely chopped, about 1 cup (150 g)
  • 1 tbsp (15 g) finely grated fresh ginger
  • 1 tbsp (15 g) finely chopped garlic, about 3 cloves
  • 3 tbsp (45 g) Thai red curry paste, more or less depending on its heat
  • 1 tsp (3 g) ground turmeric
  • 1 tsp (2 g) ground coriander
  • ½ tsp (1 g) ground cumin
  • 4 green cardamom pods, lightly cracked (about 1 g)
  • 1 cinnamon stick, about 3 inches (7.5 cm)
  • 2 cans full-fat coconut milk, 13.5 oz (400 ml) each, or 3⅓ cups (800 ml)
  • 1½ cups (360 ml) water or unsalted stock
  • 2 tbsp (30 ml) fish sauce
  • 1 tbsp (15 ml) tamarind concentrate
  • 1 tbsp (15 g) palm sugar or light brown sugar
  • 1 lb (450 g) waxy potatoes, peeled if desired and cut into 1½-inch (4 cm) chunks
  • 4 makrut lime leaves, stems removed and leaves torn, if available
  • 1 tsp (6 g) fine salt, divided, plus more to taste
  • ½ cup (10 g) Thai basil leaves, loosely packed, for finishing
  • 1 lime, cut into wedges, for serving

Instructions

  1. Prepare the goat and aromatics. Pat the goat dry with paper towels and season it with about ½ teaspoon of the salt. Chop the onion, grate the ginger, and measure the remaining spices and liquids before you begin. If the goat pieces are especially large, trim away thick, hard pieces of surface fat, but leave some fat for flavor. Keep raw goat and its utensils separate from ready-to-eat ingredients.
  2. Brown the goat. Heat the oil in a heavy Dutch oven or other large, lidded pot over medium-high heat. Working in two or three batches, brown the goat on several sides, about 4 minutes per batch, until it has deep golden patches. Avoid crowding the pot: meat packed tightly together releases moisture and steams rather than browns. Transfer each batch to a plate. The meat will finish cooking during the braise.
  3. Soften the onion and aromatics. Reduce the heat to medium. Add the onion and cook for 4 minutes, stirring and scraping up browned bits, until softened. Add the ginger, garlic, turmeric, coriander, cumin, cardamom, and cinnamon. Stir for about 30 seconds, just until fragrant; if the pot looks dry, add a spoonful of water rather than letting the garlic scorch.
  4. Fry the curry paste. Stir in the red curry paste and cook for 2 minutes, stirring frequently. This brief frying helps disperse the paste and spices through the oil. If your paste is very hot, start with 2 tablespoons (30 g) and add more near the end only after tasting.
  5. Build the braising sauce. Return the goat and any juices on the plate to the pot. Stir for 3 minutes to coat the pieces. Pour in the coconut milk and water or stock, then add the fish sauce, tamarind, palm sugar, lime leaves, and the remaining ½ teaspoon salt. Stir and bring the liquid just to a gentle simmer. Scrape the bottom of the pot to loosen any browned paste, but do not let the coconut milk boil hard.
  6. Braise until the goat is tender. Cover the pot, reduce the heat to low, and simmer gently for 2 hours and 4 minutes, stirring every 25 to 30 minutes. The sauce should make small, occasional bubbles rather than a rolling boil. Check that there is enough liquid around the meat; if the pot is becoming dry, add hot water in ¼-cup (60 ml) amounts. Goat varies in age and cut, so if it is not nearly tender after this time, continue simmering and check every 15 minutes. For food safety, check a thick piece with a food thermometer: USDA FSIS gives whole cuts of goat a safe minimum internal temperature of 145°F (63°C) with a 3-minute rest. This slow braise should cook the meat beyond that minimum as it becomes tender.
  7. Add the potatoes. Stir in the potato chunks, cover, and simmer for 25 minutes, or until a knife slides easily into a potato and the goat is fork-tender. Stir gently once or twice so the potatoes cook evenly without breaking up. If the meat needs more time but the potatoes are already tender, lift the potatoes out with a slotted spoon, continue braising the goat, and return them to the pot to warm through.
  8. Finish and rest. Turn off the heat and let the curry stand for 3 minutes. Remove the cinnamon stick and cardamom pods if you can find them. Stir in the Thai basil, taste the sauce, and adjust with more fish sauce for saltiness, tamarind or lime for tang, or a little sugar if the paste tastes sharp. Serve hot with lime wedges. The stated cooking time is an estimate; a particularly firm cut of goat may need extra simmering to reach the desired tenderness.

Tips

  • Choose the right cut. Bone-in shoulder or leg gives the sauce depth and generally stays juicy during a long braise. Have a butcher cut the bone into manageable pieces, and take care of small bone fragments when serving. Boneless shoulder works too; keep the pieces large so they do not dry out or disappear into the sauce.
  • Adjust the curry paste cautiously. Thai curry pastes differ in saltiness and heat, and some contain shrimp. Check the label if you need to avoid shellfish. Start with less paste if you are unsure, then add a little more after the meat is tender; adding it late gives the sauce heat without changing the braising time.
  • Keep the simmer gentle. A hard boil can make goat fibers tighten and may cause the coconut milk to look oily or separated. Low heat, a covered pot, and occasional stirring give the meat time to soften. If the sauce thickens before the goat is ready, loosen it with hot water, not cold water.
  • Know your substitutes. Makrut lime leaves are fragrant and distinctive; if unavailable, leave them out and finish with lime zest and juice. Tamarind concentrate provides a rounded sourness; use 1 tablespoon (15 ml) lime juice instead, added at the end, for a brighter and less deep-tasting acidity. Light brown sugar can replace palm sugar without changing the method.

Serving Suggestions

Serve the curry in shallow bowls with steamed jasmine rice, which absorbs the coconut sauce. Rice is the simplest accompaniment, but plain roti or another soft flatbread is useful for scooping up the tender meat and potatoes. Put lime wedges on the table so each person can sharpen the sauce to taste, and offer extra Thai basil or sliced fresh chile separately rather than making the whole pot hotter.

For a fuller meal, add a crisp, lightly dressed cucumber salad or simply sliced cucumber and shallot. Their cool crunch contrasts with the warm, rich curry without competing with its spices. A plate of blanched greens, such as green beans or morning glory when available, also works well. If serving guests, remove the whole cinnamon stick and cardamom pods before bringing the pot to the table, and let everyone know that bone-in goat may contain small bones.

Variations

For a milder curry, use 2 tablespoons (30 g) red curry paste and leave out fresh chile. If you want more heat, serve sliced chile on the side or stir in a small amount of extra paste after tasting. A yellow Thai curry paste can replace the red paste for a softer, more turmeric-forward flavor; it will change the color and character but works with the same cooking sequence.

For a boneless version, use 3 lb (1.36 kg) goat shoulder in large chunks and begin checking tenderness after about 1 hour and 40 minutes of braising. The timing will depend on the cut, so cook until tender rather than relying only on the clock. You can also replace the potatoes with 1 lb (450 g) peeled sweet potato, cut into large chunks, but add it later and check after 15 minutes because it softens faster. For a fish-free version, replace the fish sauce with 1½ tablespoons (22 ml) soy sauce and season to taste; the flavor will be less distinctly savory and Thai-style, so add a little extra lime or tamarind if needed.

Storage and Reheating

Refrigerate leftovers within 2 hours of cooking, divided into shallow airtight containers so they cool promptly. The curry keeps for 3 to 4 days in the refrigerator. The coconut sauce may look thicker or slightly separated when cold; that is normal. For longer storage, freeze cooled portions for up to 3 months. Thaw overnight in the refrigerator before reheating for the most even result.

Reheat only the portion you plan to serve, on the stovetop over low to medium-low heat, stirring gently and adding a splash of water if the sauce is too thick. You can also microwave a covered portion, pausing to stir. Reheat leftovers to 165°F (74°C), checking the center with a food thermometer, and avoid repeated cooling and reheating. The potatoes become softer after storage, so stir carefully to keep them intact.

Frequently Asked Questions

Can I make Thai goat curry in a slow cooker?

Yes. Brown the goat and cook the onion, aromatics, and curry paste in a skillet first, since that step builds flavor. Transfer them to the slow cooker with the coconut milk, water or stock, seasonings, and lime leaves. Cook on low until the goat is tender, usually about 7 to 8 hours, then add the potatoes for the final 1½ to 2 hours. Slow cookers vary, so check both the tenderness and the potatoes rather than treating those times as exact.

Why is my goat still tough after simmering?

Goat can remain firm until its connective tissue has had enough time to soften. Keep the pot covered at a gentle simmer and give it another 15 to 30 minutes, checking periodically. Make sure there is liquid in the pot and that it is not boiling vigorously. If the potatoes are already cooked, remove them temporarily so they do not fall apart while the goat finishes.

Can I use goat stew meat?

Usually, yes, but the label may include pieces from different parts of the animal, so they may not become tender at the same time. Keep the chunks roughly the same size when possible and begin checking them at the recipe’s stated time. Bone-in shoulder is a dependable choice for this style of braise, while leaner or smaller pieces may need less time.

Is Thai goat curry very spicy?

Its heat depends mostly on the curry paste, which varies between brands and batches. The amount in this recipe gives a noticeable but adjustable warmth for many pastes. Use 2 tablespoons (30 g) to start for a gentler curry, then taste near the end and add more if you want. Coconut milk softens the sensation of chile, but it does not remove the heat.

Can I prepare the curry a day ahead?

Yes. Cook it fully, cool it promptly in shallow containers, and refrigerate it within 2 hours. The flavors settle as it rests, and the sauce may thicken, so add a little water when reheating. Heat it until the center reaches 165°F (74°C). If you want the potatoes to keep a firmer shape, cook them separately and add them to the curry while reheating.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).