Spicy Vietnamese beef stew, often called bò kho, is a slow-simmered dish of tender beef, lemongrass, warm spices, tomatoes, and carrots in a rich, chile-seasoned broth. Versions vary by region and household; this stovetop recipe balances fragrant spice and gentle heat, and is especially good with baguette or rice noodles.
Ingredients
- 1¾ lb (800 g) boneless beef chuck, trimmed of excess hard fat and cut into 1½-inch (4 cm) cubes
- 2 tbsp (30 ml) fish sauce
- 1 tbsp (15 ml) soy sauce
- 1 tbsp (12 g) granulated sugar
- 1 tsp (6 g) fine salt, plus more to taste
- ½ tsp (1 g) freshly ground black pepper
- 1½ tsp (3 g) red pepper flakes, or 1 tsp (2 g) cayenne for a sharper heat
- 1 tbsp (15 ml) neutral cooking oil
- 1 tbsp (15 ml) annatto oil, homemade or store-bought
- 3 lemongrass stalks (about 45 g), tender lower portions finely chopped, with the tough tops reserved
- 1 medium yellow onion (about 150 g), thinly sliced
- 4 garlic cloves (about 12 g), finely chopped
- 1 tbsp (15 g) finely chopped fresh ginger
- 2 tbsp (32 g) tomato paste
- 1 cup (240 g) chopped ripe tomato, fresh or canned
- 1 tsp (2 g) Chinese five-spice powder
- 1 tsp (2 g) ground coriander
- 1 star anise pod (about 1 g)
- 1 cinnamon stick, about 2 inches (5 cm; roughly 3 g)
- 4 cups (950 ml) low-sodium beef broth
- 2 medium carrots (about 300 g), peeled and cut into 1½-inch (4 cm) pieces
- ¼ cup (10 g) chopped cilantro leaves, for serving
- 1 lime (about 100 g), cut into wedges, for serving
- 1 baguette (about 250 g) or 12 oz (340 g) dried rice noodles, for serving
Instructions
- Prepare and season the beef. Cut the beef into evenly sized cubes so they cook at a similar rate. In a large bowl, combine the beef with the fish sauce, soy sauce, sugar, salt, black pepper, and red pepper flakes. Toss well, cover, and leave to marinate for 20 minutes while you prepare the vegetables and aromatics. This brief rest gives the seasoning time to coat the meat; a longer marinate is not necessary for this stew.
- Prepare the lemongrass and aromatics. Remove the dry outer layers from the lemongrass. Finely chop the pale, tender lower portions and set aside; lightly bruise the tough upper stalks with the side of a knife and keep them whole. Slice the onion, chop the garlic and ginger, and cut the carrots. Keeping the tough lemongrass pieces whole makes them easy to remove before serving.
- Brown the beef. Heat the neutral oil in a heavy Dutch oven or other large, thick-bottomed pot over medium-high heat. Lift the beef from the marinade, letting excess liquid drip back into the bowl, and reserve the marinade. Brown the cubes in a single layer, working in batches if needed, for about 10 minutes total. Turn them so several sides develop a deep brown crust; crowding the pot will make the beef steam instead. Transfer browned beef to a plate.
- Build the aromatic base. Reduce the heat to medium and add the annatto oil, chopped lemongrass, onion, garlic, and ginger. Cook for 3 minutes, stirring often, until fragrant and softened but not browned. Stir in the tomato paste, chopped tomato, five-spice powder, coriander, star anise, and cinnamon. Cook for 2 minutes, scraping up the browned bits from the pot. Annatto oil gives the stew its characteristic orange-red color without making it hot; the chile provides the heat.
- Simmer the beef until tender. Return the beef and any plate juices to the pot. Add the reserved marinade, beef broth, and bruised lemongrass tops. Bring the liquid to a gentle boil, then lower the heat until it barely simmers. Cover with the lid slightly ajar and cook for 1 hour 25 minutes, stirring once or twice. Keep the simmer gentle; a hard boil can make the meat tighten and can reduce the broth too quickly. If the liquid drops below the level of the beef, add a little hot water.
- Add the carrots. Stir in the carrot pieces, cover the pot again with the lid slightly ajar, and simmer for 25 minutes. The carrots should be tender when pierced but still hold their shape, and the beef should yield easily to a fork. If the beef is not tender yet, continue simmering in 10-minute increments; chuck can vary, so tenderness matters more than the clock. Check a thick beef piece with a food thermometer: the USDA FSIS safe minimum for whole cuts of beef is 145°F (63°C) followed by a 3-minute rest; this long braise should take the beef well beyond that minimum.
- Finish and serve. Remove the star anise, cinnamon stick, and lemongrass tops. Taste the broth and adjust with salt, pepper, or a pinch more chile if you like. If it tastes too concentrated, stir in a splash of hot water; if it seems thin, simmer uncovered for a few minutes. Ladle into bowls, scatter with cilantro, and serve with lime wedges and baguette or rice noodles.
Tips
- Choose the right beef. Chuck is a dependable choice because its connective tissue softens during a long braise. Boneless beef shank also works, though it may need extra simmering. Avoid very lean steak cuts, which can turn dry and firm before the broth develops its full flavor.
- Use lemongrass thoughtfully. Fresh lemongrass gives the stew its citrusy, grassy aroma. If you cannot find it, use 1 tablespoon (15 g) lemongrass paste for the chopped portion, but omit the bruised tops; the flavor will be less fresh and layered. Do not substitute lemon zest in equal amounts, as it will taste different and more sharply citrusy.
- Adjust the heat in stages. The listed pepper flakes make a clearly spicy but not extreme stew. For a milder pot, begin with ½ teaspoon (1 g) flakes and offer sliced fresh chile at the table. For more heat, add flakes gradually near the end, tasting as you go; chile strength varies considerably.
- Keep the simmer low and brown in batches. A steady, quiet simmer helps the chuck become tender without turning the broth cloudy or evaporating too fast. If the pot is crowded while browning, the beef releases moisture and steams, so take the extra few minutes to brown it in batches.
Serving Suggestions
Serve bò kho hot in wide bowls with a piece of crusty baguette for dipping into the broth. The bread is a classic, practical match for the rich, savory liquid. For a noodle bowl, cook rice noodles according to their package directions, drain them, and divide among bowls before ladling the stew over them. Use about 2 oz (57 g) dried noodles per person as a starting portion.
Offer lime wedges, cilantro, and sliced fresh chile at the table so each person can adjust the brightness and heat. A small plate of crisp cucumber or lightly dressed leafy greens makes a refreshing contrast. If serving the stew with rice, choose plain steamed jasmine rice so it can soak up the broth without competing with the lemongrass and spices.
Variations
Make it less spicy: Leave out the red pepper flakes or use just a pinch, then serve sliced chile separately. The stew will still have a warm, aromatic character from the five-spice, coriander, cinnamon, and star anise; it simply will not have the same chile-led heat.
Use a traditional seasoning shortcut: Some Vietnamese-style bò kho seasoning blends include annatto, lemongrass, and warm spices. If using a packaged blend, follow its label and reduce or omit the overlapping five-spice, coriander, salt, and pepper so the broth does not become overly salty or strongly spiced. Blends vary, so taste before adding extra seasoning.
Swap the tomatoes carefully: If fresh ripe tomatoes are unavailable, canned chopped tomatoes work as listed. For a deeper tomato note, add another tablespoon (16 g) of tomato paste and reduce the broth by ¼ cup (60 ml). The broth will be slightly richer and more concentrated, so taste for salt at the end.
Try another cut: Beef shank makes a gelatin-rich broth and can be used in the same quantity as chuck, cut into pieces if needed. It may take 15–30 minutes longer to soften. Check it periodically and continue at a gentle simmer rather than increasing the heat.
Storage and Reheating
Cool the stew promptly and refrigerate it within 2 hours of cooking in shallow, covered containers. It keeps for 3–4 days in the refrigerator. The flavors often become more integrated overnight, and the fat may solidify on top; lift off some of it before reheating if you prefer a less rich broth. Store noodles or bread separately so they do not absorb the liquid.
For longer storage, freeze the cooled stew in airtight, freezer-safe containers for up to 3 months for best quality. Leave a little room at the top for expansion. Thaw it in the refrigerator overnight rather than on the counter. Reheat on the stovetop over medium-low heat, stirring occasionally, until steaming throughout and a food thermometer reads 165°F (74°C). Add a splash of water or broth if it has thickened. You can also reheat individual portions in a microwave-safe bowl, covered loosely and stirred partway through, checking that the center reaches 165°F (74°C).
Frequently Asked Questions
Is bò kho supposed to be very spicy?
The heat varies between recipes and cooks. This version has a noticeable, adjustable chile warmth, while its main flavor comes from lemongrass, warm spices, beef, and tomato. Start with less chile if you are unsure, then let people add more at the table.
Can I make this stew ahead?
Yes. Cook it through, cool it promptly, and refrigerate it for up to 3–4 days. Reheat gently to 165°F (74°C) before serving. If making it ahead for guests, keep the bread or cooked noodles separate and add fresh cilantro and lime just before serving.
Can I make bò kho without annatto oil?
Yes. Use another tablespoon (15 ml) of neutral oil. Annatto oil contributes the familiar orange-red color and a mild earthy note, but it is not what makes the stew spicy. The broth will be paler without it. Paprika can add color, but it changes the flavor, so use only about ½ teaspoon (1 g) if desired.
Why is my beef still tough after simmering?
It likely needs more time, or the pot may have been simmering too vigorously. Keep the liquid at a gentle simmer and continue cooking in 10-minute increments until a fork slides into the beef easily. Toughness at this point usually means the connective tissue has not softened yet, not that the stew needs a higher temperature.
Can I make this in a slow cooker?
For best flavor, brown the beef and cook the aromatics with the tomato paste in a skillet first. Transfer those ingredients to the slow cooker with the broth, seasonings, and lemongrass, then cook on low until the beef is tender, usually about 7–8 hours. Add the carrots for the final 2–3 hours so they do not become overly soft, and confirm the beef is fully cooked before serving.
What can I use instead of fish sauce?
Soy sauce can replace fish sauce in the same amount, though the broth will lose some of its savory, fermented depth and taste more directly salty. Use a low-sodium soy sauce if available, then adjust salt only after simmering. For a gluten-free version, choose tamari and verify that the broth and other packaged ingredients are also gluten-free.
Related
- Pot of Nigerian Stew: A Rich, Peppery Tomato Recipe
- Portuguese White Bean Soup with Chouriço, Kale & Herbs
- Posole Mexican Pork Stew with Hominy and Red Chiles
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).