2lbsbeef chuck roast or short ribscut into 2-inch cubes
1teaspoonkosher saltplus more to taste
1/2teaspoonblack pepperfreshly ground
2tablespoonscoconut oil or neutral oilfor searing
1canfull-fat coconut milk13.5 oz, no additives
1cupbeef brothlow sodium
2tablespoonssoy sauce or tamaritamari for gluten-free
1tablespoonpalm sugar or brown sugar
2kaffirlime leavesoptional but highly recommended
1cinnamonstick
3wholecloves
2cupssteamed jasmine riceor cauliflower rice for low-carb
1/4cupcrispy fried shallotsstore-bought or homemade
2tablespoonsfresh cilantroroughly chopped
1lime(cut into wedges)
Get Recipe Ingredients
Instructions
In a dry skillet over medium heat, toast the coriander seeds and cumin seeds for 60-90 seconds, stirring constantly, until fragrant and slightly darkened. Remove from heat and let cool for 2 minutes.
Add the toasted spices, shallots, garlic, lemongrass, galangal, ginger, turmeric, red chilies, and oil to a blender or food processor. Blend on high until a smooth, uniform paste forms, scraping down the sides as needed. Set aside.
Pat the beef cubes completely dry with paper towels — this is essential for a good sear. Season generously on all sides with kosher salt and black pepper.
Heat coconut oil in a large Dutch oven or heavy-bottomed pot over medium-high heat until shimmering. Working in batches to avoid crowding, sear the beef on all sides until a deep brown crust forms, about 3-4 minutes per side. Transfer seared beef to a plate and set aside.
Reduce heat to medium. Add the spice paste to the same pot and fry, stirring frequently, for 8-10 minutes. You are looking for the paste to darken slightly, become very fragrant, and for the oil to begin separating around the edges — this step builds the backbone of the dish's flavor so do not rush it.
Add the cinnamon stick, whole cloves, and kaffir lime leaves to the pot and stir to combine with the paste, cooking for an additional 1 minute.
Return the seared beef and any accumulated juices to the pot. Stir to coat every piece in the spice paste.
Pour in the coconut milk, beef broth, soy sauce, and palm sugar. Stir to combine. Bring to a gentle boil, then immediately reduce heat to low.
Cover the pot and simmer on low heat for 60 minutes, stirring once or twice during cooking.
After 60 minutes, remove the lid and continue to simmer uncovered for 25-30 minutes, stirring occasionally, until the sauce has thickened and deepened in color and the beef is fall-apart tender.
Taste the braise and adjust seasoning with salt if needed. Remove the cinnamon stick, whole cloves, and kaffir lime leaves before serving.
Serve over steamed jasmine rice or cauliflower rice. Top with crispy fried shallots, fresh cilantro, and a squeeze of fresh lime juice.
Notes
Make-ahead tip: This dish is even better the next day as the flavors deepen overnight. Store in an airtight container in the refrigerator for up to 4 days. Reheat gently over low heat with a splash of broth or water to loosen the sauce. Freeze for up to 3 months. Galangal substitute: Fresh ginger is the closest substitute if you cannot find galangal, though the flavor will be slightly less complex. Leaner beef option: Sirloin works but reduce the covered simmer time to 30 minutes and skip the uncovered step to avoid overcooking.