Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 lb (900 g) beef chuck, cut into 1.5-inch cubes
- 2 (13.5-oz/400 ml) cans full-fat coconut milk
- 4 tbsp Massaman curry paste
- 1 lb (450 g) Yukon Gold potatoes, 1.5-inch chunks
- 2 medium yellow onions, cut into 8 wedges each
- 1 cup (240 ml) low-sodium chicken stock or water
- 3 tbsp fish sauce
- 2 tbsp tamarind paste (concentrate)
- 2 tbsp palm sugar or light brown sugar
- 1 cinnamon stick (3-inch), 6 green cardamom pods (lightly crushed), 2 star anise, 2 bay leaves
- 1/2 cup roasted unsalted peanuts, roughly chopped
- 1 tbsp neutral oil
- Cooked jasmine rice, for serving
Do This
- 1. Prep beef, potatoes, and onion; open coconut milk and reserve the thick “cream” from the top of one can.
- 2. In a heavy pot, heat 1 tbsp oil and 1/2 cup coconut cream over medium; fry 4 tbsp Massaman paste 3–4 minutes until aromatic.
- 3. Add cinnamon, cardamom, star anise, and bay; stir 30 seconds. Add beef and cook 6–8 minutes, coating in paste.
- 4. Pour in remaining coconut milk and 1 cup stock; add 2 tbsp fish sauce. Simmer gently, covered, 75 minutes (or bake at 325°F/165°C).
- 5. Add potatoes and onions; simmer 25 minutes until tender.
- 6. Stir in tamarind, palm sugar, 1 tbsp more fish sauce (to taste), and peanuts; simmer 5 minutes. Rest 5 minutes and serve with rice.
Why You’ll Love This Recipe
- Mild, gently sweet, and warmly spiced—crowd-pleasing even for spice-shy eaters.
- Ultra-tender beef and creamy potatoes in a glossy coconut gravy.
- Foolproof method with clear timing and an optional oven-braise for hands-off cooking.
- Tastes even better the next day, perfect for make-ahead dinners or gatherings.
Grocery List
- Produce: Yukon Gold potatoes; yellow onions; optional cilantro and scallions for garnish; lime (optional)
- Dairy: None
- Pantry: Beef chuck; coconut milk; Massaman curry paste; fish sauce; tamarind paste; palm sugar or light brown sugar; roasted unsalted peanuts; cinnamon stick; green cardamom pods; star anise; bay leaves; neutral oil; chicken stock or water; jasmine rice
Full Ingredients
Beef and Vegetables
- 2 lb (900 g) beef chuck, cut into 1.5-inch cubes, excess hard fat trimmed
- 1 lb (450 g) Yukon Gold potatoes, scrubbed and cut into 1.5-inch chunks
- 2 medium yellow onions (about 1 lb/450 g total), cut into 8 wedges each, root intact
Coconut, Curry, and Spices
- 2 (13.5-oz/400 ml) cans full-fat coconut milk, cream from top of one can reserved
- 4 tbsp Massaman curry paste (store-bought)
- 1 cinnamon stick (3-inch)
- 6 green cardamom pods, lightly crushed
- 2 whole star anise
- 2 dried bay leaves
Seasoning and Finish
- 1 cup (240 ml) low-sodium chicken stock or water
- 3 tbsp fish sauce, divided
- 2 tbsp tamarind paste (concentrate)
- 2 tbsp palm sugar or firmly packed light brown sugar
- 1/2 cup (70 g) roasted unsalted peanuts, roughly chopped
- 1 tbsp neutral oil (vegetable, canola, or rice bran)
- Cooked jasmine rice, for serving
- Optional garnish: chopped cilantro or sliced scallions

Step-by-Step Instructions
Step 1: Prep your ingredients
Cut the beef into 1.5-inch cubes, trimming hard surface fat. Scrub and chunk the potatoes. Cut onions into wedges, keeping the root end intact so wedges hold together. Open both cans of coconut milk and skim about 1/2 cup of thick coconut cream from the top of one can; set aside. Measure out the curry paste, spices, and seasonings so they are ready to go.
Step 2: Fry the curry paste in coconut cream
Place a heavy Dutch oven (5–6 qt) over medium heat. Add 1 tbsp oil and the reserved 1/2 cup coconut cream. When it just begins to simmer and looks glossy, add 4 tbsp Massaman curry paste. Fry, stirring constantly, for 3–4 minutes until the paste turns a shade darker, smells fragrant, and the coconut begins to “split” (you’ll see tiny red oil droplets).
Step 3: Bloom the whole spices and coat the beef
Add the cinnamon stick, cardamom pods, star anise, and bay leaves. Stir for 30 seconds. Add the beef and toss to coat in the aromatic paste. Cook 6–8 minutes, turning occasionally, until the exterior of the beef loses its raw color and is well coated.
Step 4: Build the braising base
Pour in the remaining coconut milk and 1 cup stock (or water). Stir in 2 tbsp of the fish sauce. Bring to a gentle simmer, then reduce heat to low, cover with a lid slightly ajar, and maintain a quiet bubble. Alternatively, transfer covered to a 325°F (165°C) oven.
Step 5: Slow-braise until tender
Simmer for 75 minutes, stirring every 20 minutes to prevent sticking and to ensure even cooking. The beef should be approaching tender but not yet falling apart. If the liquid reduces too quickly, add a splash of hot water to keep the beef mostly submerged.
Step 6: Add potatoes and onions
Stir in the potato chunks and onion wedges. Continue to simmer, covered, for 25 minutes, until the potatoes are just tender when pierced and the onions turn silky but still hold their shape.
Step 7: Season and finish
Stir in tamarind paste and palm sugar until dissolved. Add the remaining 1 tbsp fish sauce (taste and add a little more if needed). Fold in the roasted peanuts and simmer 5 minutes to meld. The curry should be glossy, gently sweet, and balanced with a soft tang from tamarind.
Step 8: Rest and serve
Remove from heat and let the curry rest 5 minutes. Discard the cinnamon, star anise, and bay leaves if you prefer. Serve hot over jasmine rice, garnished with chopped cilantro or scallions.
Pro Tips
- Use beef chuck for melting tenderness; its marbling stands up well to the long simmer.
- Keep the simmer gentle. A rolling boil can break the coconut and toughen the beef.
- Frying the paste in coconut cream “blooms” spices and develops restaurant-level depth; don’t skip it.
- Salt levels vary by curry paste and fish sauce—season at the end for perfect balance.
- For hands-off cooking, braise covered in a 325°F (165°C) oven for the same times listed.
Variations
- Chicken Massaman: Substitute 2.5 lb bone-in, skinless chicken thighs. Simmer 30 minutes, add potatoes and onions, then cook 20–25 minutes more.
- Instant Pot: Sauté paste in coconut cream on Sauté (Normal), add beef and liquids, pressure cook 35 minutes, quick release, add potatoes/onion, pressure cook 4 minutes, quick release, finish with tamarind, sugar, fish sauce, peanuts.
- Vegetarian: Use 14 oz firm tofu (pressed, cubed) and 3 cups mixed vegetables (sweet potato, cauliflower). Simmer 15 minutes total; finish as directed. Use soy sauce in place of fish sauce.
Storage & Make-Ahead
Refrigerate cooled curry in an airtight container for up to 4 days; flavors deepen beautifully overnight. Freeze up to 3 months. Thaw in the fridge and reheat gently over low heat with a splash of water or stock to loosen. Potatoes may soften slightly after freezing but remain delicious.
Nutrition (per serving)
Approximate: 720 calories; 30 g protein; 34 g carbohydrates; 48 g fat; 4 g fiber; 9 g sugars; 1050 mg sodium.


Leave a Reply