One-Pot Beef Massaman Curry (Rich and Tender)
Beef Massaman Curry is one of those dishes that fills the kitchen with the most incredible warm spice scent long before it’s ready. It’s a mild, deeply aromatic Thai curry where beef, potatoes, and peanuts simmer in coconut milk until the meat is spoon-tender.

You get layers of cinnamon, cardamom, and star anise, a gentle tang from tamarind, and just enough richness to make every bite feel like a quiet celebration. It’s the kind of meal I want on a chilly evening when the oven is off and the stove does all the work.
What Makes This Beef Massaman So Good
The beef chuck breaks down into soft, shreddy strands that soak up the coconut broth. You get something savory, faintly sweet, and just a little bit nutty from the peanuts, all from a single pot.
I keep coming back to this version because it nails the balance without being complicated. The whole spices do the heavy lifting, and after a quick sear and a long, lazy simmer, the sauce turns glossy and almost caramel-dark.
Ingredients

- 2 lbs beef chuck, cut into 2-inch chunks: this cut gets silky and tender with slow cooking
- 1 tsp salt: for seasoning the beef before searing
- 2 tbsp vegetable oil: any neutral oil with a high smoke point works
- 1 large yellow onion, sliced into half-moons
- 3 tbsp massaman curry paste: I use Mae Ploy brand; adjust to taste
- 2 cinnamon sticks
- 4 green cardamom pods, lightly crushed
- 2 star anise
- 1 can (13.5 oz) full-fat coconut milk: do not use light, the richness is essential
- 1 cup beef broth: water works in a pinch
- 2 tbsp fish sauce
- 1 tbsp tamarind paste: look for the thick, seedless paste, not concentrate
- 1 tbsp brown sugar: palm sugar is ideal if you have it
- 2 medium potatoes (about 1 lb), peeled and cut into 1.5-inch chunks: Yukon Gold or russets hold their shape
- 1/2 cup roasted unsalted peanuts: plus more for garnish
- Fresh cilantro leaves, to finish
- Steamed jasmine rice, for serving
Variations / Substitutions
- Swap the beef for chicken thighs: brown them skin-side down, then simmer for 45 minutes.
- Use lamb shoulder instead: it needs about the same time as beef chuck and turns out wonderfully rich.
- Sweet potatoes: will replace the regular potatoes and bring a sweeter note; add them at the same time.
- If you can’t find tamarind paste, use 2 tbsp fresh lime juice stirred in right at the end.
- For a nut-free curry, omit the peanuts and finish with toasted coconut flakes.
If you enjoy this, try my Thai Red Curry with Chicken.
How to Make Beef Massaman Curry
Step 1: Sear the Beef

Season the beef chunks with the 1 tsp salt. Heat the 2 tbsp vegetable oil in a large Dutch oven or heavy pot over medium-high heat. Once the oil shimmers, add the beef in a single layer, leaving space between pieces, and sear for about 3 to 4 minutes per side until deeply browned all over. Work in two batches so the pan does not crowd.
The beef should develop a dark crust while staying pink in the center. Transfer the browned pieces to a plate and set aside. If the pot looks dry, add a tiny splash more oil between batches.
Step 2: Sauté the Aromatics

Pour off all but 1 tablespoon of fat from the pot. Reduce the heat to medium, add the sliced onion, and cook, stirring occasionally, for about 5 minutes until softened and starting to turn golden at the edges. Add the 3 tbsp massaman curry paste and cook for another 2 minutes, stirring constantly, until the paste darkens a shade and becomes very fragrant.
Drop in the cinnamon sticks, crushed cardamom pods, and star anise. Stir them around for 30 seconds so they toast a little and release their oils. The whole kitchen should smell warm and spiced right now.
Step 3: Build the Curry Base

Return the seared beef and any juices from the plate to the pot. Pour in the 1 can coconut milk and the 1 cup beef broth. Add the 2 tbsp fish sauce, 1 tbsp tamarind paste, and 1 tbsp brown sugar. Stir everything together and bring just to a gentle simmer.
At this stage the liquid will look pale and thin. That’s normal. Once it simmers, the color will deepen and the sauce will start to thicken over time.
Step 4: Simmer Until Tender

Lower the heat to maintain a very gentle bubble, cover the pot with a lid, and simmer for 1 hour. After 1 hour, add the potato chunks and the 1/2 cup peanuts. Stir, cover again, and continue cooking for another 30 to 45 minutes, until the potatoes are fork-tender and the beef pulls apart easily when nudged with a spoon.
Give the curry a stir every 20 minutes or so to prevent sticking. If the sauce looks too thick, add a splash of water. It should coat the back of a spoon and taste rich, not watery.
Step 5: Ladle Into Bowls and Garnish

Turn off the heat and taste the broth. Adjust with an extra dash of fish sauce for salt or another small squeeze of tamarind for tang. Ladle the curry into wide bowls over steamed jasmine rice and scatter on extra peanuts and a handful of fresh cilantro leaves.
The beef should be so tender you can break it apart with a spoon, and the sauce will look glossy and deep amber. Serve immediately while everything is hot and fragrant.
Tips for the Best Massaman Curry
- Toast the whole spices in a dry pan for 1 to 2 minutes before adding them to the pot for an even deeper flavor.
- Palm sugar gives a more authentic caramel note; swap the brown sugar directly if you have it.
- Store-bought curry pastes vary in saltiness, so start with 2 tbsp fish sauce and add the last one at the end.
- For a thicker sauce, simmer uncovered for the last 15 minutes to reduce the liquid.
Simmer times by cut:
| Cut | Simmer time |
|---|---|
| Beef chuck | 1 hour 30 mins to 2 hours |
| Beef brisket | 2 hours to 2 hours 30 mins |
| Beef short ribs | 2 hours 30 mins to 3 hours |
Storing and Reheating Leftovers
- Refrigerate: in an airtight container for up to 4 days. The flavors get even better overnight.
- Reheating: warm gently on the stovetop over low heat, stirring occasionally. A splash of water or broth loosens the sauce if it tightens up.
- Freeze: for up to 3 months. The potatoes can turn a little grainy, so you may prefer to add freshly cooked potatoes when you reheat.
What to Serve With Beef Massaman Curry
This curry is rich, so I like something crisp and cool on the side. A simple cucumber salad with rice vinegar and a pinch of sugar cuts through the creaminess beautifully. For a drink, a cold Thai iced tea or a light lager works well. The jasmine rice is non-negotiable, though; it soaks up every last bit of the sauce.
Frequently Asked Questions
Can I make this in a slow cooker?
Yes. Sear the beef and cook the aromatics on the stove first, then transfer everything except the potatoes to the slow cooker. Cook on low for 6 to 8 hours, adding potatoes for the last hour.
Is massaman curry spicy?
No, it is one of the mildest Thai curries. The heat comes from warm baking spices, not chili, so it is friendly for those who avoid high heat.
Can I use light coconut milk?
I would not. Light coconut milk will make the broth thin and lose the velvety texture that defines a good massaman.
How do I freeze it without ruining the potatoes?
Freeze the curry before adding the potatoes, then cook fresh potato chunks directly in the reheated curry. If you have already added them, the texture will soften a bit but the flavor stays intact.

Ingredients
Method
- Season the beef with salt. Heat oil in a large pot over medium-high heat. Sear beef in batches until deeply browned on all sides, about 3 to 4 minutes per side. Transfer to a plate.
- Reduce heat to medium, add onion to the pot, and cook until softened, about 5 minutes. Stir in curry paste and cook 2 minutes. Add cinnamon, cardamom, and star anise; toast 30 seconds.
- Return beef and any juices to the pot. Pour in coconut milk, broth, fish sauce, tamarind paste, and brown sugar. Stir and bring to a gentle simmer.
- Cover and simmer for 1 hour, stirring occasionally. Add potatoes and peanuts, cover again, and cook 30 to 45 minutes more until potatoes are fork-tender and beef pulls apart easily.
- Taste and adjust with extra fish sauce or tamarind. Ladle into bowls over jasmine rice, top with additional peanuts and cilantro, and serve.
