Hi there! This Sri Lankan beef curry is made for the slow lane: beef simmers gently with roasted curry powder, cinnamon, curry leaves and pandan until it’s tender enough to pull apart with a fork. Coconut milk rounds out the sauce, while a little vinegar in the marinade gives the spices a bright, savory lift.
Serve it with rice and a few sides, and you’ve got a wonderfully comforting rice-and-curry meal. The wait is worth it (and most of it is hands-off).
Sri Lankan beef curry at a glance
- Serves: 6
- Prep time: 20 minutes, plus optional overnight marinating
- Cook time: 2½–3 hours on the stovetop
- Best beef: Chuck, shin or another well-marbled stewing cut
- Heat level: Medium; adjust the chilli to taste
The roasted spice base is key. Ckbk describes Sri Lankan roasted curry powder, or bathapu thuna paha, as a darker, more complex blend commonly used in meat dishes. Use a Sri Lankan roasted blend for the deep, fragrant character that makes this curry special.
Ingredients
For the beef and marinade
- 1.5 kg beef chuck or shin, cut into roughly 5 cm chunks
- 2 tablespoons white vinegar
- 1 teaspoon ground turmeric
- 1–2 teaspoons chilli powder, to taste
- 2 teaspoons salt, plus more to finish
- 1 teaspoon freshly ground black pepper
- 2 tablespoons Sri Lankan roasted curry powder
For the curry
- 2 tablespoons coconut oil or neutral cooking oil
- 2 cinnamon sticks
- ½ teaspoon fenugreek seeds
- 4 cardamom pods, lightly crushed
- 3 cloves, optional
- 12–15 fresh curry leaves
- 1 pandan leaf, tied in a knot
- 2 medium onions, finely sliced
- 4 garlic cloves, finely chopped
- 4 cm piece fresh ginger, finely chopped
- 2 green chillies, slit lengthwise
- 400 ml water, plus a little extra if needed
- 300 ml thick coconut milk
- 1 teaspoon lime juice, optional
Ingredient notes
Look for a Sri Lankan roasted curry powder, not a generic mild curry blend. You can shop the Special Roasted Ceylon Curry Powder, which includes spices such as coriander, cloves, curry leaves, pandan and cinnamon.
For the creamy finish, try Sri Lankan organic coconut milk. Fresh curry leaves and pandan give the most fragrant result. If fresh curry leaves aren’t available, a pinch of Ceylon curry-leaf powder can help; add it with the spices, not as a one-for-one replacement for the leaves. You can also find Sri Lankan cinnamon sticks.

How to make Sri Lankan beef curry
1. Marinate the beef
In a large bowl, combine the beef, vinegar, turmeric, chilli powder, salt, pepper and roasted curry powder. Toss well so every piece gets coated. Cover and refrigerate for at least 1 hour, or overnight for a deeper flavor. If you marinate overnight, take the bowl out while you prepare the aromatics.
2. Brown the beef
Heat the oil in a heavy-bottomed pot over medium-high heat. Brown the beef in batches, turning the pieces so they develop color on several sides. Don’t crowd the pot: if the beef releases liquid and steams instead of browning, work in smaller batches. Transfer the browned beef to a plate.
3. Build the fragrant base
Lower the heat to medium. Add the cinnamon, fenugreek, cardamom, cloves, curry leaves and pandan. Stir for about 30 seconds, just until aromatic. Add the onions and cook for 6–8 minutes until soft and lightly golden. Stir in the garlic, ginger and green chillies and cook for another minute.

4. Slow-cook until tender
Return the beef and any juices to the pot. Pour in the water and stir, scraping up the tasty browned bits from the bottom. Bring the liquid to a gentle simmer, then cover and reduce the heat to low.
Cook for 2½–3 hours, stirring every 30 minutes or so, until the beef is fork-tender. Keep the simmer gentle: small, lazy bubbles are just right. If the sauce gets too thick before the beef is ready, add a splash of water.
5. Finish with coconut milk
Once the beef is tender, stir in the coconut milk. Simmer uncovered for 15–20 minutes, stirring occasionally, until the sauce is rich and coats the beef. Taste and adjust the salt or chilli. Add lime juice if you’d like a brighter finish, then remove the cinnamon sticks and pandan before serving.

Slow-cooker option
Brown the beef and cook the aromatics in a pan first; this quick step adds a lot of flavor. Transfer everything to the slow cooker with the water. Cook on LOW for 7–8 hours, or until the beef is tender. Stir in the coconut milk during the final 20–30 minutes. Slow cookers vary, so check the beef before serving and give it more time if it’s still firm.
Troubleshooting tips
- The beef is still chewy: It probably needs more time. Keep the heat low and continue cooking in 20–30-minute increments. Tough stewing cuts become tender with patient cooking.
- The sauce is too thin: Remove the lid and simmer gently until it reduces. Stir often so the bottom doesn’t catch.
- The sauce is too thick: Add hot water a little at a time. Avoid pouring in a large amount all at once.
- The curry tastes bitter or burnt: The spices may have scorched. Keep the heat moderate when frying the aromatics and curry powder, and add the liquid promptly if the pot starts to catch.
- It’s too hot: Stir in a little more coconut milk, or serve with plenty of rice and a cooling side.
What to serve with it
Spoon the curry over steamed rice and add a crisp, fresh side to balance the rich sauce. Browse our Sri Lankan curries and gravies for more meal inspiration, or explore sambols and sides to round out the plate. A little pol sambol or a tangy pickle is especially good here.
Video: We don’t have a dedicated video for this recipe yet. The step-by-step photos above show the main stages.
Cook it low and slow, and give the beef time to turn beautifully tender. Have fun, and save a little rice for that last spoonful of sauce.


