The Massaman Curry that ruined every other version for me was not in a restaurant. It was at a covered market in Ayutthaya, on a food walk I had booked the night before because I had an extra day and no plan.

Our guide was a woman named Pim who carried a small umbrella she never opened. She walked us past the grilled fish and the banana leaf parcels and stopped at a spice stall near the back, where a man was shaving palm sugar into a plastic bag with a knife that looked older than me.
She knew him. They talked for a while in Thai and then she turned around and said the chef who cooked for his family on Fridays was setting up a private dinner upstairs, and there was room.
The Dinner I Stumbled Into Above a Spice Stall
Eight people around a folding table. The chef worked at a two-burner setup against the wall and narrated what he was doing without really looking up.
He had already pounded the paste that morning. What he showed us was the cream. He poured thick coconut cream into a hot pan and let it sit there bubbling until the whole room went slightly nutty and a clear oil came pooling out at the edges, and he said that was the step. Everything else was patience.
Then the paste went in and the smell changed completely. Cardamom and cinnamon and clove, but underneath it something savoury and low from the shrimp paste. I have never smelled anything quite like that first minute.
Why Massaman Curry Is Not What Most People Think
He told us the name comes from an old Persian word for Muslim, and that the curry came out of Ayutthaya when Persian and other Muslim traders settled in the kingdom from around the 17th century, some of them inside the city walls. They brought cardamom, cinnamon, cloves, star anise, cumin and nutmeg. Thai cooks put those together with dried chillies, lemongrass, galangal, makrut lime and shrimp paste and made something new rather than a copy.
By the 1700s it had been taken into the royal court, which is why people in Thailand still call it the king of curries.
Two things I got wrong before that dinner. I thought massaman was basically Thai yellow curry with peanuts. It is not. Yellow curry is turmeric-led, spicier and tangier. Massaman is built on the warm dry spices. And I assumed heat was part of it. Massaman is the mildest of the major Thai curries and chilli is genuinely not the point.
Bringing It Home to My Kitchen
I made it the Sunday after I got back, jetlagged and awake at five in the morning, which turned out to be the right time for a dish that wants two and a half hours.
Sourcing. Galangal and makrut limes I get fresh at the Thai market in Hollywood, and I freeze what I do not use because galangal freezes fine and tastes almost the same. Palm sugar and shrimp paste I order online in bulk because the good kapi is not always on the shelf. Coriander roots are the hard one in the States. Half the time I use cilantro stems instead and nobody has ever noticed.
Beef chuck from the butcher on my corner, who cuts it into two-inch chunks for me and leaves the fat on because I asked him to once and he remembered.
What I Used
- Dried red chillies, seeded and soaked twenty minutes in warm water
- Coriander seed, cumin seed, a broken cinnamon stick, green cardamom pods, cloves, one star anise
- Nutmeg, grated fresh on the microplane, not the pre-ground stuff
- Lemongrass, tender lower third only
- Galangal, peeled and finely chopped
- Shallots and a lot of garlic
- Makrut lime zest, finely grated
- Coriander roots, or cilantro stems when I cannot find them
- Shrimp paste
- Beef chuck, two-inch chunks, fat left on
- Full-fat coconut milk, two cans, unshaken
- A small can of coconut cream for the cracking step
- Waxy potatoes and onions in thick wedges
- Roasted unsalted peanuts, skins rubbed off
- Tamarind paste, palm sugar, fish sauce
The Paste, and the Twenty Minutes You Cannot Skip
The toasting comes first. Three minutes in a dry skillet, shaking the whole time, and the moment the kitchen smells like a spice market you tip everything onto a plate so it stops cooking. I burned a batch once by leaving it one minute longer and the bitterness carried through the entire pot. No fixing it.
Then the mortar. I use a heavy granite one I bought at that same Thai market, and I pound the chillies with salt first until they go to a rough red mash, then work in the lemongrass and galangal until the fibres disappear, then the shallots, garlic, lime zest and coriander roots one at a time. Each one has to be a paste before the next goes in.
It takes twenty to twenty-five minutes and my arm hates it. A spice grinder plus a blender with a splash of coconut milk gets you most of the way there and I will not pretend otherwise. But the mortar paste is smoother and smells rounder, and on a slow morning I do it by hand anyway.
Crack the cream. Fry the paste in it until the oil separates out again and the raw edge is gone. Beef in, turned until every piece is coated. Then the thin milk and water, and a simmer so low the surface barely moves.
Hours Two and Three
An hour and a half, stirring every twenty minutes. The kitchen slowly fills with something I can only describe as sweet and resinous, and by the end the beef gives way under a spoon.
Potatoes, onion wedges and peanuts go in for the last thirty to forty minutes. The potatoes are the giveaway that this is massaman. They are cooked into the curry rather than served alongside, and they are rare in Thai cooking generally, which is part of why they mark the dish.
Tamarind, palm sugar and fish sauce at the end. Taste and keep going until it lands sweet first, then salty, with a clean sour note behind it. That balancing is the only part I still get wrong sometimes.
Beef is traditional because it tenderises over the long cook, though a chicken massaman curry recipe works perfectly well if you drop the simmer to forty minutes and use thighs. Beef shin is better than chuck if your butcher has it.
Day Two, Standing at the Counter
It is better the next day. Not slightly. Properly better, the spices settled and the sauce gone glossy, and I usually eat the first bowl of leftovers cold at the counter before it has any business being eaten.
Serve it with jasmine rice and a small bowl of ajat, the cucumber and shallot relish in sweet vinegar, which cuts through all that coconut fat. I skip the ajat when I am lazy. Which is often.
I think about Pim and her unopened umbrella every time I crack the cream. Ayutthaya is a long way from my kitchen and the curry is not quite as good here, but it is close enough to make me miss the place on purpose.

Massaman Curry
Ingredients
Equipment
Method
- Toast the coriander seed, cumin seed, cinnamon, cardamom pods, cloves and star anise in a dry skillet over medium-low heat, shaking constantly, until the kitchen smells of warm spice and the seeds darken a shade, about 3 minutes. Tip onto a plate immediately so they stop cooking. Let cool, then grind to a fine powder along with the grated nutmeg.
- Drain the soaked chillies and squeeze out the water. Pound them in the mortar with the salt until broken down into a rough red mash, about 5 minutes.
- Add the lemongrass and galangal and pound until fibrous strands disappear. Work in the shallots, garlic, makrut lime zest and coriander roots one at a time, pounding each to a paste before adding the next. Finally pound in the shrimp paste and the ground toasted spices. You want a thick, smooth, deep red-brown paste. This takes 20 to 25 minutes by hand.
- Open the cans of coconut milk without shaking them and spoon the thick cream from the top into a measuring cup. Reserve the thin milk below.
- Heat the coconut cream plus the thick cream you skimmed in the heavy pot over medium heat. Let it bubble and reduce, stirring now and then, until it splits and clear coconut oil pools at the edges, 8 to 12 minutes. This is cracking the cream and it is the step that makes the dish.
- Add the curry paste to the cracked cream and fry, stirring almost constantly, until the paste darkens and the oil separates out around it again, 6 to 8 minutes. It should smell sweet, toasty and deeply aromatic rather than raw.
- Add the beef chunks and turn them in the paste until every piece is coated and the surfaces have taken on colour, about 5 minutes.
- Pour in the reserved thin coconut milk and the water. Bring to a bare simmer, then lower the heat so the surface barely trembles. Partially cover and cook for 1 hour 30 minutes, stirring every 20 minutes or so, until the beef gives easily to a spoon.
- Add the potatoes, onion wedges and peanuts. Simmer uncovered for 30 to 40 minutes, until the potatoes are tender all the way through and the sauce has thickened enough to coat a spoon.
- Stir in the tamarind paste, palm sugar and fish sauce. Simmer 5 minutes more, then taste. It should land sweet first, then salty, with a clean sour note at the back and only a whisper of heat. Adjust with more palm sugar, fish sauce or tamarind until those three pull against each other evenly.
- Take the pot off the heat and let the curry rest 15 minutes before serving. The oil will rise to the surface in a glossy reddish slick, which is exactly what you want.

