
Authentic Vietnamese Beef Pho (Pho Bo)
Authentic Vietnamese beef pho is all about the broth and getting the gorgeous depth of flavor comes from a long and slow cooking time, so make sure you plan ahead. If you’re looking to get dinner on the table fast, you can take a look at our quick version here, but we encourage you to take the time and try this authentic dish as it would be made in the streets of Vietnam.
| Yield | 8 - 10 servings |
| Cook Time | 5.5 to 7.5 hours |
| Total time | 6-8 hours |
Ingredients for Beef Pho Broth
- 10 lbs mixed beef leg bones, shin, knuckle and marrow bones*
- 12 oz ginger, 2 large hands, halved lengthwise
- 4 medium yellow onions, halved lengthwise
- 2 whole shallots, halved lengthwise
- 2 lemongrass stalks, halved lengthwise and rinsed
- 2 sticks cinnamon, whole
- ¼ cup black peppercorns, whole
- 6 cloves, whole
- 6 pods star anise, whole
- 1 lb beef brisket, chuck, rump or rib roast, trimmed and cut into large chunks
- 1 oz (1 inch chunk) yellow rock sugar (duong phen)
- 3 Tablespoons kosher salt, plus more at the end to taste
- ¼ cup fish sauce, to taste
Ingredients for Finished Pho
- 1 lb boneless sirloin, London broil or tri-tip steak
- 1 lb flat rice noodles, cooked according to package instructions
- 2 cups fresh bean sprouts
- 1 bunch green onions, green part only, sliced into rings on an angle
- 1 small bunch of cilantro, roughly chopped
- 2-3 Thai bird chilis or 1 jalapeno, very thinly sliced
- 1 large bunch of fresh Thai basil
- 1 to 2 limes, cut into wedges
- Hoisin sauce and Siracha
Note: Marrow bones are very fatty, and shin/knuckle bones are high in collagen, so you’ll want to make sure you’re using a blend of the different bones to get the most character for your broth. If you only have marrow bones available (lucky you), you’ll want to skim off the fat at the end to keep your broth from being too oily.
Instructions for Broth
- Place the beef bones in a very large stock pot, then add enough cold water to cover by 2 inches. Bring the mixture to a boil over high heat and cook for 5 minutes to blanch the bones and remove any impurities.
- Drain the bones in a colander and rinse under cold running water. Rinse out the stock pot and return the blanched bones back to it.
- Set a rack in the upper third of the oven and preheat the broiler.
- Arrange the ginger, onions and shallots on a rimmed baking sheet, cut side up and broil on high until the aromatics are deeply charred in spots, 5 minutes.
- Remove from the oven, let cool a bit, remove and discard the onion and ginger skins then rinse under cold water to remove the blackened bits. Lightly bruise the ginger by smashing it with the flat side of your knife and add everything to the stockpot with the bones.
- Meanwhile, combine the cinnamon sticks, peppercorns, cloves and star anise in a medium skillet over medium-high heat and toast, shaking the pan occasionally, until the spices are lightly darkened in spots and extremely fragrant, about 5 minutes. Add the toasted spices to the stockpot.
- Season the brisket liberally with salt and add it to the stockpot along with the rock sugar.
- Fill the pot with enough cold water to cover everything by 1 inch, bring to a boil over high heat, then reduce the heat to medium to maintain a gentle simmer.
- Simmer for 2-3 hours, until brisket is fork-tender, making sure to skim off and discard any fat that floats to the top.
- Using tongs, transfer the brisket to a plate and let cool completely, then refrigerate until ready to serve.
- Continue to simmer the broth for 3-4 more hours, to get as much flavor out of the bones as possible.
- Using tongs, remove and discard the bones and aromatics. Carefully strain the broth through a fine mesh strainer set over a large pot. Skim and discard the fat from the broth, then stir in the fish sauce. Taste and add more fish sauce or salt as desired. You might want to add just a touch more salt than you think is needed to compensate for the lack of salt in the final assembly ingredients.
Assembly
- Thinly slice the chilled brisket.
- Very thinly slice the raw sirloin steak against the grain. To make this easier you can freeze the sirloin for 15 minutes before slicing.
- Divide the cooked noodles among large bowls, then top with the brisket and raw steak.
- Ladle the hot broth over the noodles and meat and serve immediately. The hot broth will cook the thinly sliced raw meat and warm up the brisket.
- Serve with the bean sprouts, scallions, chilis, basil, lime wedges, hoisin sauce, and Sriracha on the side so that each person can customize their bowl as they wish.
Notes:
- If you’re looking for an even stronger beef flavor for your broth, feel free to add some oxtail bones to your bone mix.
- You can also char your onions, shallots and ginger on a grill, if you have one, by cooking them for about 15 minutes.
- Parboiling the bones gets rid of any grit or dirt that might be in there and makes for a clearer broth in the end, so don’t skip this step!
- If you decide to cool the broth and reheat and serve later, the high collagen content of the bones might set it into a loose jelly, which is just fine! Skim off any additional fat off the top of the cooled broth and reheat till just starting to simmer on the stove top.
- Much like with any other iconic dish, every region, town, family has their own versions of what they consider “authentic”. Some people love to add garlic to the aromatics, and others consider that heresy. Feel free to use this recipe as a base and make whatever adjustments you like to it according to your tastes and preferences.
Related posts

Quick Vietnamese Beef Pho
The savory broth of pho is usually cooked over days, but you can make this delicious soup in under an hour!

New England Clam Chowder
A comforting bowl of chowder served with oyster crackers is easy to make without leaving the house!

West African Chili
Unique smokey and spicy chili that is healthy and Paleo. The perfect comfort dish for a chilly winter day.

Cozy Mexican Chili
A gorgeous chili made extra special for fall with the addition of pumpkin puree, this dish is sure to keep you warm through the season.