Classic Beef Pho (Phở Bò)
Photo by RDNE Stock project on Pexels

Classic Beef Pho (Phở Bò)

From the MyKitchenBank Kitchen

A clear, deeply savory beef broth scented with charred ginger and onion, star anise, and cinnamon, simmered for 3 hours and ladled over silky rice noodles and thin slices of flank steak cooked through in the boiling broth. Serve it with a pile of Thai basil, bean sprouts, lime, and chilies.

Prep
1 hr 5 min
Cook
4 hr 8 min
Wait
20 min
Total
5 hr 33 min
Makes
6 large bowls (about 4 quarts / 3.8 L strained broth; 2½ cups / 590 ml per bowl, with a little extra)

Steps

Before you start
  • Plan on about 5½ hours start to finish: a 25-minute parboil, a 3-hour (180-minute) simmer, and roughly 1 hour of hands-on work spread around them.
  • Ask your butcher for a mix of marrow bones and knuckle or neck bones, cut into 2-3 inch (5-7 cm) pieces. Frozen bones are fine, but thaw them first.
  • Use a 12-quart (11 L) stockpot if you can. A 10-quart (9.5 L) pot is the minimum for 5 lb of bones plus 6 quarts of water.
  • Place the oven rack 6 inches (15 cm) below the broiler. You'll char the onion and ginger there.
  • Choose a medium (about ⅛-inch / 3 mm wide) dried rice noodle labeled bánh phở. Use fresh, well-chilled steak and keep it refrigerated until you cook it.
  1. Parboil the bones

    • Put the 5 lb (2.27 kg) beef bones in the stockpot and cover with the 4 quarts (3.8 L) cold parboiling water.
    • If any bones poke out, add a little more water to cover.
    • Set over high heat and bring to a boil, about 15 minutes.
    • Boil hard for 10 minutes.
    • Grey foam and scum will rise and the water will turn cloudy.
    • The whole step takes about 25 minutes.
    + Show details

    Ready when: A thick layer of grey foam covers the surface and the water is murky.

    Tip: This step is what makes the final broth clear. Don't skip it.

  2. Rinse bones and pot

    • Carefully drain the bones into a colander in the sink.
    • Rinse each bone under running water, rubbing off any dark scum or clinging bits.
    • Scrub the stockpot clean and return the bones to it.
    + Show details

    Ready when: The bones look pale and clean, and the empty pot has no residue.

    Tip: Wear oven mitts or use tongs. The bones stay very hot.

  3. Char onion and gingerOven 500°F / 260°C

    • Set the oven to BROIL on high (about 500°F / 260°C) with a rack 6 inches (15 cm) from the heat.
    • Put the onion halves cut-side up and the ginger halves cut-side up on a foil-lined baking sheet.
    • Broil for 10-15 minutes, turning once halfway, until blackened in spots and fragrant.
    + Show details

    Ready when: Edges are blackened in spots, the onion is softened, and the kitchen smells sweet and smoky.

    Tip: Keep an eye on them. Broilers vary, and burnt-through onion tastes bitter.

  4. Toast the spices

    • Combine the star anise, cinnamon stick, cloves, coriander seeds, and fennel seeds in a small dry skillet over medium-low heat.
    • Toast, shaking the pan often, for 2-3 minutes.
    • Tip the spices into a cheesecloth square or spice bag and tie it closed.
    + Show details

    Ready when: The spices smell strongly aromatic and the seeds look slightly darker. No smoke.

    Tip: Pull the pan off the heat the moment you smell them. Scorched spices make the broth bitter.

  5. Simmer the broth

    • Add the 6 quarts (5.7 L) fresh cold water to the pot of bones.
    • Add the charred onion and ginger and the spice bag.
    • Bring to a boil over high heat (about 15 minutes), then reduce to low so only a few bubbles break the surface every second.
    • Skim foam during the first 30 minutes.
    • Simmer partially covered for a full 180 minutes (3 hours), checking every 45 minutes.
    • Expect the liquid to drop by roughly one-third (including what the bones absorb), leaving about 4 quarts (3.8 L) of strained broth.
    • If bones are sticking out of the liquid, add hot water to cover them.
    + Show details

    Ready when: The broth is amber, tastes rich and beefy with a gentle spice aroma, and the level has dropped by about one-third.

    Tip: A hard boil clouds the broth. If it bubbles vigorously, lower the heat.

  6. Strain and season

    • Lift out the bones, onion, ginger, and spice bag with tongs or a spider and discard them.
    • Pour the broth through a fine-mesh strainer into a clean large pot.
    • Measure it: if you have less than 4 quarts (3.8 L), add hot water to reach that amount.
    • Skim off most of the surface fat, leaving a thin film for flavor.
    • Stir in the fish sauce, rock sugar, and 2 teaspoons salt.
    • Taste and add salt in ½-teaspoon pinches until the broth tastes slightly too salty on its own, since noodles and beef will dilute it.
    • Keep the broth on low heat.
    + Show details

    Ready when: The broth is clear and amber, and savory, faintly sweet, and well salted.

    Tip: Season in stages. It's easy to add salt but impossible to take it out.

  7. Chill the steak

    • Wrap the trimmed flank steak in plastic wrap and set it in the freezer for 20 minutes so it firms up for thin slicing.
    • Freezing only firms it up for slicing.
    • It does not make the meat safe to eat raw, so you will cook it through later.
    + Show details

    Ready when: The steak feels very firm on the outside but still gives slightly in the center.

    Tip: Don't freeze it solid. Fully frozen meat is hard and dangerous to slice.

  8. Slice steak, prep toppings

    • Slice the chilled steak against the grain as thinly as you can, about ⅛ inch (3 mm), and arrange on a plate.
    • Cover and refrigerate until serving.
    • Soak the thin-sliced white onion in cold water for 10 minutes, then drain.
    • Arrange the bean sprouts, Thai basil, cilantro, lime wedges, sliced chilies, and scallions on a platter for the table.
    + Show details

    Ready when: The steak slices are nearly translucent and hold together.

    Tip: Slice across the long muscle fibers, not with them. This keeps the beef tender. Keep the sliced steak cold until you cook it.

  9. Cook the noodles

    • Bring the 3 quarts (2.8 L) water to a rolling boil in the large pot over high heat.
    • Add the rice noodles and cook for 6-8 minutes, stirring once or twice.
    • Taste a strand.
    • Drain the noodles in a colander and rinse under warm water to stop the cooking and remove surface starch.
    • Drain well.
    + Show details

    Ready when: Noodles are soft and slippery with a slight chew and no hard white core.

    Tip: They keep softening in the hot broth, so pull them when they still have a little bite.

  10. Assemble and serve

    • Fill the 6 bowls with hot tap water to warm them while you finish, then empty them.
    • Raise the heat under the broth to high and bring it to a full rolling boil (at least 195°F / 90°C).
    • Dip portions of noodles in a small strainer in the boiling broth for about 15 seconds to reheat, and divide among the warm bowls.
    • Working in batches, lower the steak slices in the strainer into the boiling broth and cook 1-2 minutes, until no pink remains and the slices are grey-brown.
    • Divide the cooked steak over the noodles.
    • Top with white onion, scallions, and cilantro.
    • Ladle about 2½ cups (590 ml) of boiling broth into each bowl.
    • Serve right away with the platter of sprouts, basil, lime, and chilies, plus hoisin and sriracha if you like.
    + Show details

    Ready when: Steak slices show no pink and read at least 145°F (63°C) in the thickest slice; the broth steams hard when poured.

    Tip: Raw or rare beef carries a risk of E. coli and Salmonella, especially for pregnant people, young children, older adults, and anyone immunocompromised, so don't serve it that way. For those at higher risk, cook slices to 160°F (71°C).

Good to know

Tips
  • Keep the broth at a bare simmer, never a rolling boil, for a clear, clean-tasting soup.
  • Season the broth until it tastes a bit too salty and sweet by itself. Noodles and toppings will mellow it.
  • Warm your bowls with hot water first and keep the broth at a rolling boil so everything stays hot at the table.
  • Don't add all the toppings to the bowl at once. Let each person add sprouts, basil, lime, and chilies to taste.
Make ahead

The broth is better on day 2 and keeps 4 days in the fridge. Cool it fast: strain it, then divide it into shallow containers (no more than 2-3 inches / 5-7 cm deep) or set the pot in an ice bath and stir. Bring it to 70°F (21°C) within 2 hours and to 40°F (4°C) within 4 more hours, and get it into the fridge within 2 hours of cooking. Never put the whole hot pot in the fridge. Lift off the solidified fat if you like. Slice the steak and prep the toppings up to 4 hours ahead and refrigerate.

Storage & reheating

Cool the broth as described in make-ahead, then store in airtight containers in the fridge for up to 4 days or in the freezer for up to 3 months. Reheat in a pot over medium heat until at a full rolling boil. Store noodles, raw sliced steak, and toppings separately in the fridge for up to 2 days (raw steak is best used within 1 day); loosen noodles by rinsing with hot water. Assembled bowls don't keep. Don't leave soup at room temperature for more than 2 hours.

Substitutions
  • flank steak → beef sirloin or eye of round. Slice just as thin and cook through the same way. Sirloin is more tender, and eye of round is leaner and firmer.
  • rock sugar or granulated sugar → granulated sugar. Use about 2 tablespoons (25 g). Rock sugar gives a rounder, milder sweetness.
  • Thai basil → regular sweet basil plus a few mint leaves. You'll lose the anise note of Thai basil, but the bowl will still be fresh and fragrant.
  • beef marrow and knuckle bones → 3 lb (1360 g) bones plus 2 lb (900 g) oxtail. Same 5 lb total. Oxtail adds body and meaty flavor. Simmer the same time and serve the tender meat on the side.

More noodle soups

See all →

Find more like this

Meal
Dinner
Cuisine
Vietnamese
Main ingredient
Steak
Quick & Easy
Make Ahead

Reviews (0)