Authentic Pho Recipe From Scratch, Step by Step

Updated November 3, 2026

Total time
7 hr 15 min
prep 45 min · cook 6 hr 30 min
Serves
6
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece

Jump to recipe

Authentic Pho Recipe From Scratch, Step by Step

Pho bo is Vietnamese beef noodle soup: a fragrant, slowly simmered broth served with rice noodles, tender beef, fresh herbs, and bright garnishes. This from-scratch version builds flavor by blanching the bones, charring onion and ginger, and gently simmering the broth with toasted spices; regional and family recipes vary, so the toppings can be adjusted to taste.

Ingredients

  • 4 lb (1.8 kg) beef marrow or knuckle bones, preferably a mix of both
  • 1½ lb (680 g) beef brisket, in one piece
  • 5 qt (4.7 L) cold water, plus more for blanching
  • 2 medium yellow onions, about 12 oz (340 g) total, halved
  • 1 piece fresh ginger, 5 in (about 125 g), split lengthwise
  • 5 whole star anise
  • 1 cinnamon stick, about 3 in (7.5 cm)
  • 4 whole cloves
  • 1 tsp (2 g) coriander seeds
  • 1 tsp (2 g) fennel seeds
  • 3 tbsp (45 ml) fish sauce, plus more to taste
  • 1 tbsp (12 g) rock sugar or granulated sugar
  • 1 tbsp (18 g) fine salt, plus more to taste
  • 14 oz (400 g) dried flat rice noodles, about ¼ in (6 mm) wide
  • 12 oz (340 g) bean sprouts
  • 1 small bunch Thai basil, about 1 oz (30 g), leaves picked
  • 1 small bunch cilantro, about 1 oz (30 g), leaves and tender stems roughly chopped
  • 4 scallions, about 2 oz (55 g), thinly sliced
  • 1 small white or yellow onion, about 5 oz (140 g), very thinly sliced
  • 2 limes, cut into 6 wedges each
  • 2 jalapeños or Thai chiles, thinly sliced, optional
  • Hoisin sauce and chili sauce, for serving, optional

Instructions

  1. Blanch and rinse the bones. Put the bones in a large stockpot and cover them with cold water. Bring to a boil over high heat and boil for 10 minutes; foam and residue will rise to the surface. Drain the bones, rinse them well under cool running water, and scrub away any clinging scum. Rinse the pot, too. This extra step helps the finished broth look clearer and taste clean rather than muddy.
  2. Char the onion and ginger. While the bones blanch, heat a heavy skillet or grill pan over medium-high heat. Set the halved onions and split ginger cut-side down in the dry pan and cook until deeply browned in spots, turning as needed, about 10–15 minutes. You can also char them under a broiler, watching closely and turning once. A little blackening is useful; fully burnt, bitter surfaces are not. Set aside.
  3. Toast the spices. Put the star anise, cinnamon, cloves, coriander, and fennel in a dry skillet over medium heat. Toast for 2–3 minutes, shaking the pan frequently, until fragrant. Transfer to a spice bag or a piece of cheesecloth tied securely with kitchen string. Keeping the spices contained makes it easy to remove them before they dominate the broth.
  4. Start the broth and cook the brisket. Return the rinsed bones to the clean stockpot and add 5 qt (4.7 L) cold water. Bring just to a boil, skim any foam, then lower the heat to maintain a very gentle simmer. Add the brisket, charred onion, and ginger. Partially cover the pot and simmer gently, skimming occasionally. After about 2½–3 hours, check the brisket: it should be tender when pierced, and a food thermometer in the thickest part must register at least 145°F (63°C), the USDA FSIS safe minimum for a whole cut of beef, followed by a 3-minute rest. Lift it out, rest it for at least 3 minutes, then cover and chill or keep covered at room temperature while the broth finishes. If the brisket is still tough, simmer it longer and check again.
  5. Finish simmering the broth. Add the spice bag, salt, sugar, and fish sauce to the pot after removing the brisket. Continue a gentle simmer for about 3 hours, for roughly 5½ hours of broth simmering in total. Keep the bones mostly submerged; add a little hot water if needed, but avoid diluting the broth unnecessarily. Do not let it boil vigorously, which can make the stock cloudy and give it a harsher flavor. Taste near the end and adjust the salt or fish sauce gradually.
  6. Strain and season. Remove the bones, aromatics, and spice bag with tongs or a slotted spoon. Strain the broth through a fine-mesh sieve into a clean pot. Taste it while hot: it should be savory and aromatic, with enough salt to season the noodles but not so much that the garnishes become overwhelming. Add a little hot water if it tastes too concentrated, or simmer it uncovered briefly if it seems weak. Keep the broth hot over low heat.
  7. Prepare the beef, noodles, and bowls. Slice the rested brisket thinly across the grain. Prepare the dried rice noodles according to the package directions, usually by soaking or briefly boiling; stop when just tender, since they soften further in the bowl. Drain and rinse briefly with warm water to remove excess starch. Divide noodles among six large bowls and top with brisket, sliced onion, scallions, cilantro, and bean sprouts.
  8. Ladle and serve right away. Bring the broth back to a lively simmer, then ladle it over the noodles and beef. The hot broth warms the toppings and loosens the noodles. Serve immediately with Thai basil, lime wedges, sliced chile, and sauces on the side so everyone can season their own bowl.

Tips

  • Keep the simmer calm. A few small bubbles are enough. A rolling boil stirs fat and particles into the liquid, so the broth can turn cloudy. Skim the surface when foam or excess fat gathers, but leave a little fat for flavor.
  • Use traditional spices thoughtfully. Star anise and cinnamon are important to pho’s familiar aroma. If coriander or fennel seeds are hard to find, omit them rather than replacing them with a larger amount of a different spice. Ground spices are a poor substitute here because they cloud the broth and can taste dusty.
  • Choose the right fish sauce. Fish sauce supplies salt and depth, not a strong fishy flavor when used in balance. If unavailable, use additional salt and a small splash of soy sauce; the broth will be less traditionally savory and will taste different, so add it gradually.
  • Cook noodles separately. Do not simmer the noodles in the main pot. They release starch, soak up broth, and become soft in storage. Cook only what you plan to serve and keep the remaining noodles separate.

Serving Suggestions

Serve pho in warmed, deep bowls so the broth stays hot as you eat. Put the herbs, bean sprouts, lime, chiles, and sauces in small dishes on the table. A squeeze of lime brightens the savory broth; basil adds a sweet, anise-like note; and fresh chile brings heat. Hoisin and chili sauce are optional accompaniments, not requirements. Try a little in the bowl first rather than stirring in a large amount, which can obscure the broth’s spice and beef flavors.

For a fuller meal, serve pho with a simple plate of fresh herbs or sliced cucumber on the side. Keep extra hot broth available for anyone who prefers a soupier bowl. If serving a group, set out noodles and sliced brisket in individual bowls and pour the hot broth over them just before eating; assembled bowls are best enjoyed immediately.

Variations

This recipe is a beef pho, or pho bo, with brisket and a beef-bone broth. For a leaner bowl, replace some or all of the brisket with cooked beef eye of round, sliced thinly across the grain. Cook whole beef cuts to at least 145°F (63°C) and let them rest for 3 minutes, following the USDA FSIS minimum; add already-cooked slices to the bowls just before ladling over the hot broth.

Pho has regional and household variations. Some southern-style bowls are served with a broader array of herbs and bean sprouts, while other versions keep the garnish simpler. Adjust the garnish to what is available without changing the broth method. For a lighter chicken version, use chicken bones and chicken pieces, but poultry must reach 165°F (74°C) according to USDA FSIS; chicken pho also has a different flavor and is not a direct swap for this beef recipe.

For a more aromatic broth, add one extra star anise only if you enjoy its pronounced licorice note; too much can quickly take over. For less sweetness, reduce the sugar to 1–2 tsp (4–8 g). If you cannot find rock sugar, ordinary granulated sugar works well and is already listed as an alternative. Use flat rice noodles of a similar width so they hold up to the broth.

Storage and Reheating

For best texture, store broth, brisket, and noodles separately. Refrigerate leftovers within 2 hours of cooking. Cool the broth in shallow containers or divide it into smaller portions so it chills promptly; keep it covered in the refrigerator for 3–4 days. Store cooked noodles in a separate airtight container and use within 3–4 days, though they are best on the first day. Keep cut herbs and garnishes separate and use them promptly.

Reheat only the amount of broth you need on the stovetop until steaming, and bring leftover beef and broth to 165°F (74°C), the USDA FSIS temperature for reheated leftovers. Warm noodles briefly in boiling water or place them in a strainer and dip them into hot broth. Do not repeatedly cool and reheat the entire pot. Freeze broth in airtight, freezer-safe containers for up to 3 months for best quality; thaw in the refrigerator, then reheat to 165°F (74°C). The cooked brisket can also be frozen, though its texture may become a little less tender.

Frequently Asked Questions

Can I make pho broth a day ahead?
Yes. Strain the broth, cool it promptly in shallow containers, and refrigerate it within 2 hours. The next day, lift off some or all of the solidified fat if you prefer a leaner broth, then reheat the broth until it reaches 165°F (74°C). Keep noodles and fresh garnishes separate until serving.

Why is my pho broth cloudy?
The most common reasons are skipping the bone blanch, not rinsing the bones after blanching, or boiling the stock hard. A gentle simmer and occasional skimming help keep the broth clear. Cloudiness does not automatically mean the broth is unsafe; it is mostly a matter of appearance and texture.

Can I use a slow cooker?
You can use one for the long broth simmer, but blanch and rinse the bones first, and char the onion and ginger separately. Check that the cooker can hold the ingredients safely without exceeding its fill line. Cook the brisket until tender and verify its temperature with a food thermometer; strain and season the broth at the end.

What if I only have fresh rice noodles?
Use about 2 lb (900 g) fresh flat rice noodles in place of the dried noodles. Fresh noodles often need only a brief dip in hot water to separate and warm, rather than a full boil. Follow their package directions and avoid overcooking, since they can soften quickly in hot broth.

Do I have to use beef bones?
Bones give the broth body and a rounded beef flavor, so they are central to this from-scratch version. Ask a butcher for marrow or knuckle bones if they are not displayed. If you cannot get them, use unsalted beef stock as a shortcut and simmer it with the charred aromatics and spices; the result will be quicker but less gelatinous and less complex.

How do I keep the broth from tasting too salty?
Start with the listed salt and fish sauce, then adjust only after straining and tasting. Different fish sauces and bones vary in saltiness, and the broth will taste more concentrated as it reduces. If it is too salty, dilute it with hot water or unsalted beef stock a little at a time, then taste again.

Related

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).