Vietnamese beef stew, or bò kho, is a fragrant stew of tender beef, lemongrass, warm spices, and carrots, usually served with bread or noodles. Its seasoning balances aromatic sweetness with savory fish sauce, and family versions vary in their spice blends and use of tomatoes or coconut water.
Ingredients
- Seasoning blend: 2 teaspoons (4 g) annatto powder; 1 teaspoon (2 g) Chinese five-spice powder; 1 teaspoon (2 g) sweet paprika; 1/2 teaspoon (1 g) ground cinnamon; 1/4 teaspoon (0.5 g) ground cloves; and 1/2 teaspoon (1 g) freshly ground black pepper.
- Beef and marinade: 2 pounds (900 g) beef chuck, cut into 1 1/2-inch (4 cm) cubes; 2 tablespoons (30 ml) fish sauce; 1 tablespoon (15 ml) soy sauce; 1 tablespoon (12 g) brown sugar; and 1 teaspoon (5 g) fine salt.
- Aromatics and cooking fat: 2 tablespoons (30 ml) neutral oil; 2 stalks lemongrass (about 120 g), outer leaves removed and stalks cut into 3-inch (7.5 cm) pieces; 2 medium shallots (about 80 g), finely chopped; 4 garlic cloves (about 12 g), minced; and 1 tablespoon (6 g) finely grated fresh ginger.
- Stew base: 2 tablespoons (32 g) tomato paste; 2 medium tomatoes (about 300 g), chopped; 2 whole star anise (about 2 g); 1 cinnamon stick, about 3 inches (7.5 cm); and 5 cups (1.2 L) low-sodium beef broth.
- Vegetables and finish: 1 pound (450 g) carrots, peeled and cut into 1 1/2-inch (4 cm) pieces; 1 tablespoon (15 ml) fish sauce, or more to taste; and 1/4 cup (10 g) chopped cilantro or Thai basil, for serving.
- To serve: 6 small baguettes or 6 portions of cooked rice noodles, about 12 ounces (340 g) dry noodles total, plus lime wedges if desired.
Instructions
- Mix the seasoning and coat the beef. Stir together the annatto, five-spice, paprika, ground cinnamon, cloves, and black pepper in a small bowl. In a large bowl, combine the beef with the fish sauce, soy sauce, brown sugar, salt, and all of the spice blend. Turn the pieces until they are evenly coated. Leave the bowl on the counter while you prepare the aromatics and vegetables; this brief pause lets the seasoning cling to the beef without requiring a separate marinating period.
- Prepare the lemongrass. Remove any dry or tough outer leaves, then trim the root ends. Cut the tender stalks into short lengths and bruise them firmly with the flat side of a knife or a rolling pin. Bruising releases their citrusy aroma into the broth. Keep the pieces large enough to fish out before serving; finely chopped lemongrass can leave fibrous bits in the stew.
- Brown the beef in batches. Heat the oil in a heavy Dutch oven or large, sturdy pot over medium-high heat. Lift the beef from its bowl, letting excess marinade drip back, and brown it in two or three batches for about 2 minutes per side. Avoid crowding the pot, which causes the meat to steam rather than brown. Transfer the browned pieces to a plate. The browned residue on the pot adds savory flavor, so do not scrape it out.
- 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. Stir in garlic, ginger, and bruised lemongrass and cook for 1 minute, just until fragrant. Add the tomato paste and stir for another minute so it darkens slightly and coats the aromatics. If the pot looks dry or the paste starts catching, add a tablespoon of broth and keep stirring.
- Build the broth and simmer the beef. Return the beef and any juices to the pot. Add the chopped tomatoes, star anise, cinnamon stick, and broth. Bring the liquid just to a boil, then lower the heat to maintain a gentle simmer and cover the pot with the lid slightly ajar. Simmer for 1 hour 35 minutes, stirring every 25 to 30 minutes. Keep the bubbles small; a hard boil can make the beef dry and break the tomato into a less pleasant, thin broth.
- Add carrots and finish cooking. Stir in the carrots, cover the pot loosely again, and simmer for 25 minutes, or until the carrots are tender and the beef yields easily when pressed with a fork. Check the largest beef piece with a food thermometer: USDA FSIS lists 145°F (63°C) followed by a 3-minute rest as the safe minimum for whole cuts of beef. For the characteristic stew texture, continue simmering beyond that minimum until the chuck is fork-tender; after turning off the heat, let the stew stand for 3 minutes.
- Season and serve. Remove the lemongrass pieces, star anise, and cinnamon stick. Stir in the remaining tablespoon of fish sauce, taste the broth, and adjust with a little more fish sauce or salt if needed. Serve hot with baguette or cooked rice noodles, and scatter cilantro or Thai basil over each bowl. Offer lime wedges at the table for a bright, tart finish.
Tips
- Choose chuck and cut evenly. Beef chuck has connective tissue that softens during a long simmer, making it a dependable choice for a tender stew. Cut the pieces to a similar size so they cook at roughly the same rate. Lean stew meat can be used, but it may turn dry before it becomes as silky.
- Know your spice substitutes. Annatto gives the broth its warm orange-red color and a mild, earthy note. If you cannot find annatto powder, use an equal amount of sweet paprika; the stew will be a little less earthy and its color may differ. For a fresher lemongrass flavor, use frozen lemongrass stalks if available. Ground lemongrass is a last resort: use about 1 teaspoon (2 g), and expect a less vivid citrus aroma.
- Keep the seasoning balanced. Fish sauce brands differ in saltiness, and broth can be salty too, so taste before adding extra salt at the end. Five-spice and cloves are potent; measure them rather than adding extra by eye. If you prefer a milder bowl, reduce the five-spice to 1/2 teaspoon (1 g) and leave the rest of the blend unchanged.
- Do not rush the simmer. The beef may be safe to eat before it is tender, but chuck needs time for its connective tissue to soften. Keep the heat low and give it another 15 to 20 minutes if a fork meets resistance. If the broth reduces too much before the beef is tender, add hot water or broth a little at a time.
Serving Suggestions
Bò kho is often served as a substantial breakfast or lunch with a small baguette for dipping. Split the bread and warm it briefly, then ladle the stew into bowls with plenty of broth. A crisp baguette is especially useful because it soaks up the aromatic liquid without falling apart immediately. Rice noodles make a good alternative when you want a bowl that is easy to eat with chopsticks; cook them separately according to their package directions, drain well, and divide them among bowls before adding the stew.
For a lighter-feeling spread, serve the stew with steamed rice, sliced cucumber, and a plate of herbs. Thai basil, cilantro, and thinly sliced scallions all work as toppings, though they bring different flavors: basil is sweet and anise-like, cilantro is bright, and scallions are mild. A squeeze of lime at the table cuts through the rich broth. If serving a group, set out herbs and lime separately so each person can adjust their bowl.
Variations
Make it coconut-water based. Replace 1 cup (240 ml) of the beef broth with unsweetened coconut water. It lends a gentle sweetness that rounds out the fish sauce and spices; it should not make the stew taste like a coconut curry. If the finished broth tastes too sweet, add fish sauce a teaspoon at a time rather than more salt.
Add gentle heat. Add one small dried red chile (about 1 g) with the star anise, or serve sliced fresh chile on the side. Keeping chile at the table makes it easier to serve different spice preferences without changing the base pot.
Use a stovetop spice sachet. If you want to avoid fishing out whole spices, put the star anise and cinnamon stick in a small spice bag or tie them in clean cheesecloth before simmering. Do not replace them with large amounts of ground spice: excess ground cinnamon or star anise can make the broth muddy and overpower the lemongrass.
Adjust the tomato character. For a deeper, less fresh tomato flavor, use 1 cup (240 ml) canned crushed tomatoes in place of the two fresh tomatoes. The broth will be thicker and more uniformly tomato-forward. Some versions use more or less tomato, and some lean more heavily on lemongrass and spices; there is not one universal home-style formula.
Storage and Reheating
Refrigerate leftover stew within 2 hours of cooking, ideally in shallow, covered containers so it cools promptly. It keeps for 3 to 4 days in the refrigerator. The flavors often mingle as it sits, and the broth may thicken slightly; loosen it with a splash of water or broth when reheating. If the fat firms on top in the refrigerator, you can lift off some of it before warming, or stir it back in for a richer broth.
For longer storage, freeze the stew in airtight, freezer-safe containers for about 2 to 3 months for best quality. Leave a little space at the top for expansion, and thaw it overnight in the refrigerator rather than on the counter. Reheat on the stovetop over medium-low heat, stirring occasionally, until steaming throughout and at least 165°F (74°C); check with a food thermometer. Individual portions can also be reheated in the microwave, covered loosely and stirred partway through, then checked in more than one spot for 165°F (74°C). Store bread, herbs, lime, and cooked noodles separately so they do not become soggy.
Frequently Asked Questions
What gives Vietnamese beef stew its distinctive seasoning?
The characteristic aroma comes from lemongrass alongside warm spices such as star anise, cinnamon, and five-spice. Fish sauce gives the broth savory depth, while annatto contributes its familiar color. The proportions vary between cooks, so the blend can be adjusted while keeping those aromatic and savory notes in balance.
Is Chinese five-spice powder the same as Vietnamese beef stew seasoning?
No. Five-spice is one ingredient in this blend, not the whole seasoning. It commonly includes anise-like and warming flavors, but it does not provide the fresh citrus scent of lemongrass or the savory seasoning of fish sauce. Combining it with annatto, cinnamon, and the other ingredients gives the stew a more rounded profile.
Can I make the seasoning blend ahead?
Yes. Mix the dry spices and keep them in a tightly sealed container away from heat and sunlight for up to 3 months for the best flavor. Label the jar with its contents and date. Add fresh lemongrass, garlic, ginger, fish sauce, and other wet ingredients when preparing the stew; they are not shelf-stable components of the dry blend.
Can I cook this Vietnamese beef stew in a slow cooker?
Yes, though browning the beef and cooking the aromatics first in a skillet gives the broth a deeper flavor. Transfer those ingredients to the slow cooker with the tomatoes, whole spices, and broth. Cook on low until the beef is fork-tender, usually about 7 to 8 hours depending on the appliance, and add the carrots for the final 1 1/2 to 2 hours so they do not become overly soft. Confirm the beef reaches the safe minimum temperature and tender texture before serving.
Why is my beef still tough after simmering?
It usually needs more time, not higher heat. Chuck can remain firm for a while before its connective tissue softens, so keep the stew at a gentle simmer and check again in 15-minute intervals. If the liquid is low, add a little hot broth or water. A rapid boil may shorten the wait but can toughen the meat and make the broth less clear.
Can I use ground spices instead of whole star anise and a cinnamon stick?
You can, but use a restrained amount because ground spices disperse through the broth and are harder to remove. Start with about 1/8 teaspoon (0.3 g) ground star anise and 1/4 teaspoon (0.5 g) ground cinnamon in addition to the blend, then taste near the end. The broth will be slightly less clear and the spice flavor more pervasive than when whole spices are simmered and removed.
Related
- Portuguese Kale Soup: Caldo Verde Explained
- Portuguese Kale Sausage Soup with Potatoes
- Portuguese Kale and Chorizo Soup, Made for Weeknights
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).