Vietnam · Noodle soups
Phở bò (Vietnamese beef noodle soup)
A clear, gently spiced beef broth simmered for hours and poured boiling over rice noodles, brisket and paper-thin raw beef. Hanoi-leaning: spare, savoury and fragrant.
- Prep
- 30 min
- Cook
- 7 hr 20 min
- Total
- 8 hr
- Effort
- A project
- Serves
- 6
The total includes 10 min of soaking, resting or chilling.
Ratings by the Soupmap Culinary Team, not readers.

Phở bò is the beef version of phở, Vietnam's great noodle soup (bò means beef). The broth is the dish: clear, deeply savoury and faintly sweet, with spice you notice in the steam more than on your tongue. This version leans towards Hanoi, where the bowl stays spare: broth, rice noodles, beef, spring onion and coriander, with lime and chilli on the side so everyone can adjust their own.
Three steps make it work. Blanching the bones throws away the blood and loose protein that would cloud the pot. Charring the onion and ginger adds a smoky, rounded sweetness. And the spices are toasted and go in only for the last hour, so they perfume the broth instead of turning it medicinal.
The mistake people usually make is letting the pot boil. A rolling boil churns fat and protein into the liquid and leaves it murky and greasy, so keep it at the barest shiver for the whole six hours. For the history and the north–south question, see our phở essay.
Ingredients
Broth
To serve
Method
Tap a step's number to tick it off, and a time to start a timer.
Blanch the bones and char the aromatics
Put the bones in a stockpot of at least 10 l, cover them with cold water and bring to a boil over high heat. Boil hard for 10 minutes, until a thick grey-brown scum has risen and the water looks muddy.
Tip the bones into a colander and rinse each one under running water, rubbing off any scum and dark bits. Scrub the pot clean.
While the bones blanch, char the onion and ginger under a very hot grill (broiler), turning once, or hold them over a gas flame with tongs, until blackened in patches and starting to soften, 15–20 minutes under the grill or about 10 minutes over a flame. When they're cool enough to handle, pull off the burnt onion skins, scrape the worst of the black from the ginger with a spoon and rinse briefly. You want the char's smoky sweetness, not ash.
Simmer the broth
Return the bones to the clean pot with the 5 l cold water and bring to a boil over high heat. As soon as it boils, turn the heat right down and skim off the foam that rises over the next 15–20 minutes.
Add the brisket and the charred onion and ginger. Adjust the heat so that only a few small bubbles break the surface every second or two, and simmer uncovered for 6 hours in total, skimming now and then. If the bones start to poke above the surface, top up with a little boiling water.
Start checking the brisket after 2 hours: it's ready when a skewer slides in with only slight resistance, usually at 2–2 1/2 hours. Lift it into a bowl of iced water for 15 minutes, which stops the surface darkening and drying out, then drain, wrap and refrigerate it. Leave the bones simmering.
When the broth has simmered for 5 hours, crack the black cardamom with the flat of a knife and toast it with the other whole spices in a dry frying pan over medium-low heat, shaking the pan, until fragrant and a shade darker, 2–3 minutes. Tie the spices in a square of muslin (cheesecloth) or put them in a large tea infuser, and add them to the pot for the last hour. Taste after 45 minutes and fish the bag out early if the anise is starting to take over.
Prepare the noodles and beef
During the last hour of simmering, soak the noodles in a large bowl of room-temperature water until pliable and opaque white, 30–45 minutes, then drain.
At the same time, put the sirloin in the freezer until firm at the edges but not frozen through, 30–45 minutes. Slice it across the grain as thinly as you can, 1–2 mm, lay the slices on a plate, cover and keep them in the fridge until the moment you serve.
Slice the cold brisket thinly across the grain. Soak the sliced white onion in cold water for 10 minutes to soften its bite, then drain, and set out the spring onions, coriander, lime and chillies.
Strain and season
Lift out the bones and aromatics with tongs, then pour the broth through a fine sieve lined with damp muslin into a clean pot. Skim off most of the fat, leaving a few golden droplets on top for flavour.
Measure the broth: you want about 500 ml per bowl, so 3 l for six. If you have much more, boil it down for a stronger broth; if you have less, top up with hot water.
Bring the broth to a simmer and add the rock sugar (crush any large lumps first), the salt and about three-quarters of the fish sauce, stirring until the sugar has dissolved, about 5 minutes. Taste, then add the rest of the fish sauce and more salt until it tastes slightly too salty on its own: the plain noodles and unseasoned beef will soften it in the bowl.
Assemble
Bring a large pan of water to a rolling boil for the noodles, and bring the broth to a full rolling boil too: this is the one moment it should boil hard. Warm the bowls with hot water from the kettle and tip it out.
Working one portion at a time, put the soaked noodles in a sieve or noodle basket and dip them in the boiling water until soft but still springy, 20–30 seconds. Shake well and tip into a warm bowl.
Lay a few slices of brisket and raw sirloin over the noodles in a single layer, so the broth can reach every slice, and scatter with the white onion and spring onions. If you'd rather the beef cooked through, or you're feeding anyone pregnant, very young, elderly or with a weakened immune system, first lower the raw slices into the boiling broth in a ladle until no longer pink, about 30 seconds.
Ladle about 450 ml of boiling broth straight over the raw beef, which will turn from red to pink in seconds. Finish with coriander and black pepper and serve at once, with lime wedges and chillies on the side.
Swaps
Cooking for coeliac disease or an allergy? Check every label: the notes below say which ones matter.
Gluten-free
- Already gluten-free as written. Check the fish sauce, since a few brands add hydrolysed wheat protein, and choose rice noodles labelled gluten-free, as some are made on lines shared with wheat.
- At the table, skip hoisin unless it's labelled gluten-free, and leave out the fried dough sticks (quẩy) from the Variations, which are wheat.
Plant-based
- Make phở chay, the vegetarian phở of Vietnam's Buddhist kitchens. In place of the bones and brisket, simmer the charred onion and ginger for 1 1/2 hours in 4 l water with about 1 kg daikon (white radish) and 2 carrots in large chunks, 2 corn cobs and 30 g dried shiitake, adding the toasted spices for the last 45 minutes. It's lighter and sweeter: its own broth, not an imitation of beef.
- Season with salt and a little tamari labelled gluten-free (or soy sauce, if gluten isn't a concern) instead of fish sauce, and top the noodles with fried tofu and seared oyster or shiitake mushrooms instead of the beef.
High-protein
- Add about 80 g more raw sirloin per bowl (roughly 500 g more for six), sliced and served exactly the same way: about 17 g more protein per bowl.
- For more cooked meat, simmer a second 600 g piece of brisket alongside the first, as for phở chín in the Variations: about 100 g raw weight per bowl, roughly 15–18 g protein.
- Beef meatballs (bò viên), halved and warmed in the boiling broth, are a classic southern addition at about 8–10 g protein for four balls, but some contain wheat, so check the label if you need the bowl gluten-free.
Tips
- Mix your bones. Marrow bones bring richness and flavour; knuckle bones bring the gelatine that gives the broth body. A piece of oxtail is a good addition if you can get one, and soaking the bones in cold water for an hour before blanching draws out even more blood.
- Keep the heat low enough to be boring. If your hob won't hold a bare simmer, set the pot slightly off-centre on the burner or use a heat diffuser. A clear broth comes from patience, not from straining.
- Spice late and lightly. Star anise and cloves turn bitter and medicinal when they cook for hours, which is why they go in for the last hour only. Black cardamom (thảo quả) is a large, smoky dried pod, very different from green cardamom; if you can't find it, leave it out rather than substitute.
- Treat the raw beef with care. Buy it from a butcher you trust, slice it on the day, keep it cold until the bowls are ready, and make sure the broth is at a full rolling boil when it hits the bowl. Lukewarm broth leaves the beef raw and the soup tepid.
- Fresh noodles are a treat. If you can find fresh flat rice noodles, use about 1 kg for six and dip them for just 10 seconds to warm through.
Make ahead and storage
- The broth is even better made a day ahead. Cool it quickly by standing the pot in a sink of iced water or dividing it between shallow containers, and refrigerate within 2 hours; the next day the fat will have set on top and lifts off easily.
- The broth keeps for 3–4 days in the fridge or 3 months in the freezer; bring it back to a full boil before serving. The cooked brisket keeps, wrapped, for 3–4 days in the fridge.
- Store the noodles, herbs and broth separately, and slice the raw beef on the day you serve it.
Variations
- Southern-style table: add a plate of Thai basil, bean sprouts, sawtooth coriander (ngò gai, also sold as culantro) and extra lime, with hoisin and chilli sauce for dipping the meat. Most hoisin contains wheat, so check the label if you need the meal gluten-free.
- All cooked meat (phở chín): chín means cooked, as opposed to tái, rare. Skip the raw sirloin and simmer a second piece of brisket alongside the first. It's the easy choice for anyone avoiding rare meat.
- Fried dough sticks (quẩy): in Hanoi these are often served alongside for dipping in the broth. They're made with wheat flour, so the meal is no longer gluten-free.
Your notes
Keep your cooking notes private in your account. Save what you changed and what you'd do next time.
Reviews & cooks' tips
Reviews and tips from people who've cooked this appear here.