Pho gets the attention. Bún Bò Huế does the actual work. This soup from Huế — central Vietnam’s former imperial capital — is spiced, lemongrass-forward, and built with annatto oil and fermented shrimp paste in ways that make pho’s clean, star-anise profile feel, in comparison, almost restrained.

The broth arrives a deep brick-orange, colored by annatto oil rendered during cooking and by chilies that were added early and given time to bleed into the liquid. Steam carries lemongrass first — clean, citrus-herbal — before something darker and more fermented comes through. The noodles are round and thick, noticeably denser than pho’s flat rice ribbons, and they hold their shape in a hot bowl rather than softening into paste. This is not a gentle soup.
Why you’ll love this recipe
Ingredient Notes

The key players: beef shank, marrow bones, lemongrass, shrimp paste, annatto seeds, dried chilies, and round rice noodles.
- Beef shank : The main protein and the primary source of body in the broth. Connective tissue breaks down slowly over two to three hours of simmering, releasing gelatin that gives the liquid real weight. Don’t substitute a leaner cut — the fat and collagen matter here.
- Beef marrow bones : Blanched first to clear blood and impurities, then added to the pot for the full simmer. Two or three large sections are enough. They contribute a quiet richness to the broth that’s difficult to replicate otherwise.
- Lemongrass : Four to five large stalks, bruised with the back of a knife and tied into a bundle so they can be removed before serving. This is the dominant flavor of the dish — not a background note. Dried lemongrass will not do the same job.
- Annatto seeds : Bloomed in neutral oil for two to three minutes until the oil turns a deep orange-red, then the seeds are discarded. This gives the broth its color and a faintly earthy undertone. Turmeric is not a substitute — the flavor profile shifts entirely.
- Fermented shrimp paste (mắm ruốc) : The ingredient most home versions quietly skip, and the reason those versions taste thin. Dissolved in warm water, strained, and added to the broth about an hour in, it contributes a layer of fermented umami that anchors everything else. Start with one teaspoon if you’re uncertain about the intensity.
- Fish sauce : The primary salt. Add it toward the end of cooking and taste as you go. Vietnamese fish sauce — Three Crabs or similar — has a cleaner character than Thai varieties and makes a noticeable difference in the final broth.
Blanch the Bones First
Before anything goes into the final pot, the bones and shank need a preliminary boil in plain water — five minutes at a hard boil, then drain and rinse under cold water. What comes out of that first boil is grey, foamy, and not something you want in your broth. This step is not optional. Skipping it means spending the next three hours skimming aggressively and still ending up with a murky, iron-tinged result. Rinse the pot too, not just the bones.
Slicing braised beef shank thin against the grain — the step that separates a proper bowl from a lazy one.Char the Aromatics
Cut two medium onions in half and char them directly over a gas flame or under a broiler until the cut faces are genuinely blackened — not just browned, blackened. Do the same with four or five shallots and the bruised lemongrass bundle. The charring removes the raw, sulfurous edge from the aromatics and adds a subtle smokiness that you’ll notice more in its absence than its presence. Once they’re properly charred, add everything to the pot with the cleaned bones and shank, cover with cold water, and bring to a low, steady simmer. Keep it there.
The Annatto and the Paste
About an hour into the simmer, heat two tablespoons of neutral oil in a small pan and add a tablespoon of annatto seeds. Two to three minutes at medium-low — watch them — until the oil turns a vivid orange-red, then strain out the seeds and add the colored oil to the broth. In the same pan, briefly fry two teaspoons of minced garlic in a little more oil, then add the shrimp paste mixture: one teaspoon of mắm ruốc dissolved in three tablespoons of warm water, passed through a fine strainer. Cook it for thirty seconds — the smell is sharp, fermented, nothing like what the finished broth will taste like — then add the whole mixture to the pot. This is the moment the broth becomes specifically itself, rather than a general beef stock with lemongrass.
The Last Hour
From here, another hour to an hour and a half at a low simmer. The beef shank is ready when it yields easily to a skewer but still holds its shape — not falling apart, not resistant. Pull it out at that point and let it cool in a bowl of broth rather than on a cutting board; it continues to cook gently as it cools, stays more moist, and slices cleanly when cold. Meanwhile, skim any fat that has risen to the surface, add fish sauce a tablespoon at a time, taste, and adjust. The broth should be savory, lightly spiced, and noticeably herbal from the lemongrass. Once the shank is cold, slice it thinly against the grain — roughly five millimeters — and set aside.
Building the Bowl
Cook the round bún noodles in a separate pot according to the package — most varieties take four to five minutes in boiling water — then rinse under cold water and drain well. Portion the noodles into deep bowls, lay the beef slices over them, and ladle the broth over everything hot enough that it reheats the noodles on contact. The table should have bean sprouts, shredded banana blossom, fresh Thai basil, sliced red chilies, lime wedges, and a small dish of chili oil on the side. These are not garnishes. They change the character of each spoonful depending on what you add and when, and that variation is part of how the dish functions — the same bowl tastes different across ten minutes of eating.

- Season with fish sauce only in the final thirty minutes of cooking. Salt added early concentrates as the liquid reduces. You can easily overshoot. The last pass is when you calibrate.
- Dissolve the shrimp paste in warm water and strain it through fine mesh before adding it to the broth. You get the fermented depth without the gritty texture that undissolved paste leaves behind.
- If making this a day ahead — worth doing — cool the broth uncovered to room temperature before refrigerating. The fat solidifies overnight into a solid layer you can lift off cleanly, leaving a clear broth underneath.
- Don’t rush the charring step. Pale, lightly browned onion halves add almost nothing. You want the cut faces to be dark, almost burnt-looking. That’s the point.

What’s the actual difference between Bún Bò Huế and pho?
The broths are built on different logic. Pho relies on charred aromatics and warm spices — star anise, clove, cinnamon — for a clean, relatively neutral base. Bún Bò Huế is built around lemongrass, annatto oil, fermented shrimp paste, and chili, which gives it a funkier, spicier, more assertive character. The noodles differ too: pho uses flat rice noodles, Bún Bò Huế uses thick round ones with considerably more chew.
Can I skip the fermented shrimp paste?
You can, but the broth will taste noticeably thinner. The paste adds a layer of fermented umami that fish sauce alone doesn’t replicate, and the pungency largely cooks off during simmering — what remains in the broth is depth, not a strong shellfish flavor. Start with half a teaspoon if you’re cautious about the intensity.
How spicy is this, and can I control the heat level?
As written, the heat is moderate — present and evenly distributed through the broth, not sharp or aggressive. To reduce it, use fewer dried chilies in the broth and omit the chili oil at serving. To increase it, add a tablespoon of Vietnamese chili paste directly to the broth in the final fifteen minutes of cooking.
How long does the broth keep?
Refrigerated in a sealed container, it keeps well for four to five days. It also freezes without issue for up to three months — freeze it without the noodles, which don’t survive a freeze-thaw cycle. The broth actually tightens slightly after a day in the refrigerator, as the fat solidifies and can be skimmed off cleanly before reheating.
Where do I find round bún noodles and mắm ruốc?
Both are standard at any Vietnamese or Southeast Asian grocery. Round bún noodles are sometimes labeled ‘bún bò’ or ‘thick rice vermicelli’ — the diameter is roughly three to four millimeters, noticeably wider than regular vermicelli. Fermented shrimp paste from Huế is sold in small jars; paste from other regions isn’t an exact substitute, but will work if it’s all you can find.
Bún Bò Huế
Vietnamese
Soups & Noodles
A spiced Vietnamese beef noodle soup from the former imperial capital of Huế. Built on a lemongrass and annatto broth, deepened with fermented shrimp paste and fish sauce. Thicker noodles, deeper color, and more assertive flavor than pho.
Ingredients
- 600g beef shank
- 500g beef marrow bones (2–3 sections)
- 400g dried round rice noodles (bún)
- 5 large lemongrass stalks, bruised and tied in a bundle
- 1 large yellow onion, halved
- 3 shallots, halved
- 4 dried Thai chilies
- 4 garlic cloves, minced
- 1 tbsp annatto seeds
- 1 tsp fermented shrimp paste (mắm ruốc), dissolved in 3 tbsp warm water and strained
- 3 tbsp fish sauce, plus more to taste
- 2 tbsp neutral oil
- 3 liters cold water
- 100g bean sprouts, for serving
- 1 small banana blossom, shredded, for serving (optional)
- 1 bunch fresh Thai basil, for serving
- 2 limes, cut into wedges, for serving
- 2 red chilies, thinly sliced, for serving
- 2 tbsp chili oil, for serving
Instructions
- 1Place the beef shank and marrow bones in a large pot, cover with cold water, and bring to a hard boil. After 5 minutes, drain completely, rinse the bones and pot under cold water, and return everything to the clean pot.
- 2Char the onion halves and shallots directly over a gas flame or under a hot broiler until the cut faces are genuinely blackened. Add them to the pot with the cleaned bones and shank.
- 3Add the lemongrass bundle and dried chilies to the pot. Pour in 3 liters of cold water and bring to a gentle simmer over medium heat. Do not boil aggressively.
- 4Simmer for 1 hour, skimming any foam and fat that rises to the surface every 20 minutes.
- 5After 1 hour, heat the neutral oil in a small pan over medium-low. Add the annatto seeds and cook for 2–3 minutes until the oil turns a deep orange-red. Strain out the seeds and add the colored oil to the broth.
- 6In the same pan, fry the minced garlic for 30 seconds, then add the strained shrimp paste solution. Cook for 30 seconds, then pour the entire mixture into the pot.
- 7Continue simmering for a further 1.5 to 2 hours, until the beef shank yields easily to a skewer but still holds its shape.
- 8Remove the shank and let it cool in a bowl with a ladleful of broth. Continue simmering the broth, adding fish sauce one tablespoon at a time and tasting between each addition.
- 9Discard the lemongrass bundle, charred aromatics, and dried chilies. Adjust the seasoning one final time.
- 10Cook the round rice noodles in a separate pot according to the package instructions, rinse under cold water, and drain well.
- 11Slice the cooled beef shank thinly against the grain, roughly 5mm thick.
- 12Divide the noodles among four deep bowls, lay the beef slices on top, and ladle hot broth over everything. Serve immediately with bean sprouts, banana blossom, Thai basil, lime wedges, sliced chili, and chili oil alongside.
Notes
• The broth improves after a night in the refrigerator. Make it a day ahead, skim the solidified fat from the surface, and reheat before serving.
• Do not skip the initial blanching of the bones. It takes five minutes and is the difference between a clear broth and a murky one with a metallic undertone.
• If mắm ruốc is unavailable, substitute with an equal quantity of Thai shrimp paste (kapi). The flavor will differ slightly, but the function is the same.
• Freeze the broth without noodles for up to 3 months. Cook noodles fresh each time — they don’t hold through a freeze-thaw cycle.
Nutrition Facts (per serving, estimated)
| 540 kcalCalories | 34gProtein | 68gCarbs | 12gFat |