Kenyan Beef Curry with Coconut and Warm Spices

Updated November 4, 2026

Total time
2 hr 9 min
prep 25 min · cook 1 hr 44 min
Serves
6
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece

Jump to recipe

Kenyan Beef Curry with Coconut and Warm Spices

Kenyan beef curry is a hearty, tomato-based stew of tender beef, potatoes, and warming spices, often finished with coconut milk in coastal-inspired versions. This home-style recipe balances rich gravy with familiar curry powder and fresh aromatics, making it satisfying with rice, chapati, or ugali.

Ingredients

  • 2 lb (900 g) boneless beef chuck, trimmed of excess hard fat and cut into 1¼-inch (3 cm) cubes
  • 1½ tsp (7 g) fine salt, divided, plus more to taste
  • ½ tsp (1 g) freshly ground black pepper
  • 2 tbsp (30 ml) neutral vegetable oil, divided
  • 2 medium yellow onions, about 10 oz (285 g), finely chopped
  • 4 garlic cloves, about 20 g, minced
  • 1 tbsp (15 g) finely grated fresh ginger
  • 2 tbsp (16 g) Kenyan-style curry powder or mild Madras curry powder
  • 1 tsp (2 g) ground cumin
  • ½ tsp (1 g) ground coriander
  • ¼ tsp (0.5 g) ground turmeric
  • ⅛ tsp (0.25 g) ground cinnamon
  • 1 can (14.5 oz/411 g) diced tomatoes, with their juices
  • 2 cups (475 ml) low-sodium beef broth or water, plus a little more if needed
  • 1 can (13.5 oz/400 ml) unsweetened coconut milk, well shaken
  • 2 medium Yukon Gold or other waxy potatoes, about 12 oz (340 g), peeled if desired and cut into 1-inch (2.5 cm) chunks
  • 2 medium carrots, about 5 oz (140 g), peeled and cut into ½-inch (1 cm) slices
  • 1 tbsp (15 ml) fresh lime juice, or to taste
  • ¼ cup (10 g) chopped fresh cilantro, for serving

Instructions

  1. Prepare the beef and vegetables. Pat the beef dry with paper towels so it browns instead of steaming. Season it with the pepper and about 1 teaspoon of the salt. Chop the onions, mince the garlic, grate the ginger, and cut the potatoes and carrots into even pieces. Keeping the potato chunks close in size helps them cook at the same rate.
  2. Brown the beef, about 10 minutes. Heat 1 tablespoon (15 ml) of the oil in a heavy Dutch oven or other large, lidded pot over medium-high heat. Working in two batches so the pieces are not crowded, brown the beef on two or three sides, turning as needed; each batch should take about 4 to 5 minutes. Transfer the browned pieces to a plate. Add the remaining oil if the pot looks dry. A dark coating on the bottom is useful flavor, but lower the heat if it begins to burn.
  3. Soften the aromatics, about 8 minutes. Reduce the heat to medium and add the onions. Cook, stirring and scraping the browned bits from the pot, until soft and lightly golden. Stir in the garlic and ginger and cook for about 1 minute, just until fragrant. Do not let the garlic turn dark brown, which can make the curry taste bitter.
  4. Toast the spices, about 1 minute. Add the curry powder, cumin, coriander, turmeric, cinnamon, and remaining ½ teaspoon of salt. Stir constantly for about 30 to 60 seconds. The spices should smell fragrant; if the pot is dry, add a spoonful of broth so they do not scorch.
  5. Build the sauce and braise the beef, 60 minutes. Pour in the tomatoes and their juices, then stir to loosen any browned bits. Add the beef and any juices on the plate, the broth, and the coconut milk. Bring the liquid just to a gentle simmer, then cover the pot and turn the heat to low. Simmer gently for 60 minutes, stirring once or twice. The liquid should bubble softly rather than boil hard; add a splash of water if the sauce becomes too thick before the beef is tender.
  6. Add the potatoes and carrots, 20 minutes. Stir the vegetables into the curry, cover, and simmer for about 20 minutes, until the potatoes are tender when pierced with a fork and the beef is soft. The USDA FSIS safe minimum for whole cuts of beef is 145°F (63°C) followed by a 3-minute rest; check a representative piece with a food thermometer, allow that rest, and return it to the hot curry. For this braise, the beef will normally cook beyond that minimum so it becomes tender.
  7. Finish and season, about 5 minutes. If the gravy is thinner than you like, simmer uncovered for a few minutes, stirring carefully so the potatoes stay intact. Stir in the lime juice, taste, and adjust the salt. Let the curry stand off the heat for 5 minutes so the sauce settles, then scatter cilantro over the top. Serve hot.

Tips

  • Choose a braising cut. Chuck has enough connective tissue to become tender during a slow simmer and gives the gravy a full texture. Stew meat can also work, but pieces may come from different cuts and soften at different rates. Lean steak is less suitable because it can turn firm and dry during the long cook.
  • Keep the simmer gentle. A rolling boil can toughen the beef and break the potatoes apart before the meat is tender. If the sauce is bubbling rapidly, lower the heat; a heavy pot with a tight lid helps keep the temperature steady.
  • Adjust the curry powder thoughtfully. Curry powders vary in heat and salt. Start with the amount listed, then taste near the end before adding more. If using a salted blend, reduce the added salt at the beginning and correct it after the sauce has reduced.
  • Use a practical spice substitute. Kenyan-style curry powder can be difficult to find outside East African shops. Mild Madras curry powder is a useful substitute, though it may taste sharper or hotter. If it is very hot, use 1 tablespoon (8 g) first and add more after tasting.

Serving Suggestions

Serve the curry in shallow bowls with steamed long-grain rice to catch the coconut-tomato gravy. Chapati is another natural companion: tear off a piece and use it to scoop up beef, potato, and sauce. Ugali, a firm maize-meal staple, also pairs well, especially when the curry is served as part of a larger meal. These are options rather than rules; Kenyan meals vary across households and regions.

For a lighter plate, add a simple side of sliced cucumber and tomato dressed with lime and a pinch of salt. A cooked green vegetable, such as sukuma wiki or sautéed spinach, adds contrast to the rich sauce. Put extra lime wedges and chopped cilantro on the table so everyone can brighten their portion to taste. If serving a group, keep the curry warm over very low heat and offer rice or flatbread separately so it does not absorb all the gravy before serving.

Variations

Make it without coconut: Replace the coconut milk with 1½ cups (355 ml) additional beef broth or water. The sauce will be less creamy and the spices will come through more directly. For a little body without coconut, mash a few cooked potato pieces into the gravy near the end.

Add more heat: Cook 1 finely chopped fresh green chile with the garlic and ginger, or serve sliced chile on the side. Chile heat varies, so removing the seeds and inner ribs is a useful way to keep it gentler. Do not assume a particular curry powder is mild; check its label and taste cautiously.

Use different vegetables: Sweet potato can replace the regular potatoes in the same quantity, though it softens faster and makes the sauce sweeter. Add it for the final 15 minutes and check early. Peas or chopped green beans can be stirred in during the last 5 to 8 minutes, just long enough to become tender without losing their color.

Lean into coastal flavors: A small amount of ground cardamom or a pinch of ground cloves can add a fragrant note alongside the cinnamon. Keep additions restrained so they do not overwhelm the curry powder. Kenyan cooking is diverse, and coconut-rich curries are especially associated with coastal influences; there is no single version used in every home.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours of cooking, in shallow, covered containers. The curry keeps for 3 to 4 days in the refrigerator. The potatoes may absorb some sauce as they sit, so stir in a splash of water or broth when reheating. For longer storage, freeze portions in airtight, freezer-safe containers for up to 3 months for best quality; thaw overnight in the refrigerator.

Reheat only the amount you plan to eat, either in a saucepan over medium-low heat or in the microwave, stirring occasionally so the center warms evenly. Add liquid a little at a time if the gravy is very thick. Reheated leftovers should reach 165°F (74°C), checked with a food thermometer. Avoid repeatedly cooling and reheating the whole pot; divide it into meal-size portions instead.

Frequently Asked Questions

Is Kenyan beef curry very spicy?
The recipe is warmly spiced rather than necessarily hot. The level depends mainly on the curry powder and any fresh chile you add. Choose a mild blend and leave out the chile for a gentler curry; add heat at the table for people who want it.

Can I make this curry ahead?
Yes. The sauce and beef can be cooked a day ahead and refrigerated once cooled, within 2 hours. Reheat gently to 165°F (74°C). For the best potato texture, you can cook the beef and sauce ahead, then add freshly cut potatoes and carrots while reheating and simmer until tender, adding broth as needed.

Can I cook it in a slow cooker?
Yes, though browning first gives the sauce deeper flavor. Brown the beef and soften the onions with the spices in a skillet, then transfer everything except the potatoes, carrots, lime, and cilantro to the slow cooker. Cook on low until the beef is tender, roughly 7 to 8 hours, adding the vegetables for the final 2 to 3 hours. Slow cookers vary, so use tenderness rather than the clock alone, and make sure the beef meets the stated safe minimum temperature.

Why is my beef still tough?
It usually needs more time, not higher heat. Keep the pot covered at a gentle simmer and cook in 10-minute increments until a piece pulls apart easily with a fork. If the liquid is getting low, add a little water or broth. Toughness can also result from using a lean cut that is better suited to quick cooking.

Can I use beef broth instead of water?
Yes. Low-sodium beef broth adds savory depth, while water lets the spices and coconut stand out more clearly. Because broth and curry powder can both contain salt, taste the finished sauce before adding extra. If the curry tastes too salty, add a little unsalted water or coconut milk and serve it with plain rice.

Can I leave out the potatoes?
Yes. The curry will be looser and more focused on the beef, so reduce the broth slightly or simmer the finished sauce uncovered until it reaches the thickness you like. You can serve it with rice, chapati, or ugali, or replace the potatoes with another vegetable that holds its shape during simmering.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).