Vietnamese Beef Stew (Bò Kho): A Practical Recipe Guide

Updated November 3, 2026

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

Jump to recipe

Vietnamese Beef Stew (Bò Kho): A Practical Recipe Guide

Vietnamese beef stew, or bò kho, is a fragrant braise of beef, carrots, lemongrass, and warm spices in a savory broth. Enjoyed in different versions across Vietnam, it is commonly served with a baguette for dipping, rice noodles, or steamed rice. This recipe gives you tender beef and a deeply flavored broth without requiring hard-to-find equipment.

What You’ll Need

  • 2½ lb beef chuck, cut into 1½-inch cubes (1.13 kg). Beef shank also works, though it may need extra simmering to become tender.
  • 2 tbsp fish sauce (30 ml), plus more to taste.
  • 1 tbsp soy sauce (15 ml).
  • 1 tbsp brown sugar (12 g).
  • 2 tsp Vietnamese curry powder (about 5 g). If unavailable, use mild curry powder; the flavor will be less specifically Vietnamese.
  • 1 tsp Chinese five-spice powder (about 2 g).
  • 1 tsp fine salt (6 g), divided, plus black pepper to taste.
  • 2 tbsp neutral oil (30 ml), divided. For a red-orange color, use annatto oil; if you cannot find it, plain oil works, but the stew will be less colorful.
  • 2 medium shallots, finely chopped (about ½ cup / 75 g).
  • 4 garlic cloves, finely chopped (about 1½ tbsp / 15 g).
  • 1 tbsp finely grated fresh ginger (6 g).
  • 3 lemongrass stalks (about 90 g), tender lower sections bruised and cut into 3-inch pieces (8 cm). Frozen lemongrass is a practical substitute; use it thawed and bruised.
  • 2 star anise pods (about 2 g) and 1 small cinnamon stick (about 7 g).
  • 2 tbsp tomato paste (32 g).
  • 6 cups unsalted beef broth (1.4 L); water works, but gives a lighter-tasting stew.
  • 1 lb carrots, peeled and cut into 1½-inch pieces (450 g).
  • 2 tbsp chopped cilantro (about 8 g) and 2 tbsp sliced scallions (about 12 g), for serving.
  • 1 lime, cut into wedges (about 60 g), and baguette, rice noodles, or steamed rice, as desired.

Use a heavy, lidded pot or Dutch oven large enough to hold the beef and broth. You will also need a cutting board, knife, spoon, and food thermometer. A fine-mesh spice bag is optional; it makes the star anise and cinnamon easier to remove.

Step-by-Step

  1. Cut and season the beef. Pat the beef dry and cut it into evenly sized pieces so they cook at a similar rate. In a large bowl, mix the fish sauce, soy sauce, brown sugar, curry powder, five-spice powder, half the salt, and a few grinds of black pepper. Add the beef and turn to coat. Cover and refrigerate for 30 minutes. If you are short on time, you can cook it right away, but the seasoning will be less evenly absorbed.
  2. Prepare the aromatics while the beef marinates. Chop the shallots, garlic, and ginger. Trim the lemongrass, remove any dry outer layers, and bruise the tender lower sections with the flat side of a knife. Cutting the stalks into large pieces keeps them easy to find and remove later. Peel and cut the carrots, but set them aside; they go into the pot near the end so they do not turn mushy.
  3. Brown the beef in batches. Heat 1 tablespoon (15 ml) oil in the pot over medium-high heat. Lift the beef from its marinade, letting excess liquid drip back into the bowl, and brown it in a single layer. Work in two or three batches rather than crowding the pot; allow about 2 to 3 minutes per side. Transfer browned pieces to a plate. If the pot looks dry, add the remaining 1 tablespoon (15 ml) oil between batches. Browning builds savory flavor, but the beef does not need to cook through at this stage.
  4. Cook the aromatics and tomato paste. Lower the heat to medium. Add the shallots and cook for 2 minutes, stirring and scraping up browned bits. Add the garlic, ginger, and lemongrass; cook for about 1 minute, until fragrant. Stir in the tomato paste and cook for 1 minute more. If the bottom begins to scorch, lower the heat and add a small splash of broth to loosen the browned bits.
  5. Start the braise. Return the beef and any juices on the plate to the pot. Add the remaining marinade, broth, star anise, cinnamon, and remaining salt. Stir, then bring the liquid just to a gentle boil. Reduce the heat to low so the surface bubbles lazily, cover, and simmer for 1 hour 40 minutes. Check occasionally and stir gently; if the liquid falls below the beef, add hot water or broth.
  6. Add carrots and finish simmering. Stir in the carrots, cover, and simmer for about 20 minutes, until the carrots are tender when pierced and the beef is very tender. If you prefer a thicker broth, uncover the pot for the last 10 to 15 minutes. The USDA FSIS safe minimum for whole cuts of beef is 145°F (63°C) with a 3-minute rest; check a large piece with a food thermometer. This stew cooks well beyond that minimum so the connective tissue softens. Remove the pot from the heat and let it stand for 3 minutes before serving.
  7. Adjust the broth. Remove the cinnamon stick, star anise, and large lemongrass pieces. Taste the broth. Add fish sauce for savory depth, a pinch of salt if it tastes flat, or a little hot water if it is too concentrated. If the spices seem strong, give the stew a few minutes to settle and taste again before adding anything.
  8. Serve warm. Ladle beef, carrots, and broth into bowls. Top with cilantro and scallions, and offer lime wedges at the table. Serve with pieces of baguette for dipping, or spoon the stew over rice noodles or steamed rice. If using noodles, cook them separately according to their package directions and divide them among bowls before adding the stew.

Common Mistakes

Overcrowding the pot while browning: Beef packed tightly together releases moisture and steams instead of browning. Brown in batches, leaving space around the pieces, and let the pot regain heat between batches. A little sticking is normal; the aromatics and broth will help release the flavorful browned bits.

Boiling the stew hard: A vigorous boil can make the meat cook unevenly and the broth evaporate too quickly. Keep it at a gentle simmer, with only occasional bubbles breaking the surface. Check the pot periodically, especially if your burner runs hot.

Adding carrots too early: Carrots left in the pot for the entire braise can become very soft and break apart. Add them for the final 20 minutes, adjusting the time slightly for especially thick or thin pieces.

Using too much spice or salt at the start: Broth reduces as it cooks, concentrating its seasoning. Measure the spices and salt, then make final adjustments after simmering. Fish sauce also adds saltiness, so add extra in small amounts.

Tips

Cut the beef into pieces of similar size, and trim away only very thick, hard pieces of fat. Some marbling and connective tissue help chuck become tender and enrich the broth. If you want a clearer broth, skim foam or excess fat from the surface during the first part of simmering.

Bruising lemongrass releases its citrusy aroma, while keeping it in large pieces makes serving easier. If you use ground lemongrass instead, begin with about 1 teaspoon (2 g), taste as the stew cooks, and expect a slightly different texture. Annatto oil adds color rather than a strong flavor; plain oil is fine if that is what you have.

For a make-ahead meal, cook the stew, cool it promptly, and refrigerate it in a covered container within 2 hours. It keeps for 3 to 4 days in the refrigerator. Reheat leftovers to 165°F (74°C), checking with a food thermometer; add a splash of water or broth if the sauce has thickened. You can also freeze cooled portions for longer storage, then thaw in the refrigerator and reheat thoroughly.

Troubleshooting

The beef is still tough when the timer ends: Keep simmering it gently, covered, for another 15 to 20 minutes, then check again. Toughness usually means the connective tissue needs more time, not that the beef needs a higher cooking temperature. Add a little hot broth or water if the liquid is running low.

The broth tastes thin or watery: Remove the lid and simmer gently for 10 to 15 minutes to reduce it. You can also mash one or two carrot pieces into the broth for a little body. Taste after reducing, because the salt and spice will become more concentrated.

The broth is too salty: Add hot water or unsalted broth a little at a time, then taste again. If the stew is already at the right thickness, avoid reducing it further. Adding a few extra cooked carrot pieces can soften the impression of salt, but it will not remove salt from the broth.

The bottom is catching or scorching: Turn the heat down immediately and transfer the stew to a clean pot without scraping up the burnt layer. Add a small amount of broth if needed and continue at a gentler simmer. Stir more often and check that the pot is not sitting over an overly strong flame.

The carrots are soft but the beef is not tender: Lift the carrots out with a slotted spoon and set them aside. Continue simmering the beef until tender, then return the carrots to warm through for a few minutes. This prevents them from disintegrating while the meat finishes.

Frequently Asked Questions

What is bò kho? Bò kho is Vietnamese beef stew, typically made with beef, carrots, lemongrass, and aromatic spices in a savory broth. Ingredients and serving styles vary by household and region; it is often eaten with baguette, noodles, or rice.

Can I make Vietnamese beef stew without lemongrass? Yes. The stew will still be satisfying, but it will lack lemongrass’s fresh, citrusy aroma. If you have frozen lemongrass, thaw and bruise it before adding. Lime at the table can add brightness, but it does not fully replace the flavor of lemongrass.

Can I use a slow cooker? Yes. Brown the beef and cook the aromatics on the stove first for better flavor, then transfer them with the broth and whole spices to a slow cooker. Cook until the beef is tender, adding carrots for the final 1 to 2 hours so they hold their shape. Follow your appliance’s directions and check for tenderness rather than relying only on the clock.

What should I serve with bò kho? Baguette is a classic choice for dipping into the broth. Rice noodles or steamed rice make a hearty bowl, and lime wedges, cilantro, and scallions offer fresh contrast. Keep noodles separate until serving so they do not absorb all the broth during storage.

Can I prepare it a day ahead? Yes. Refrigerate the cooked stew within 2 hours, and keep it covered for up to 3 to 4 days. The flavors meld as it rests, and the broth may thicken in the refrigerator; loosen it with a little water or broth while reheating to 165°F (74°C).

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).