Learn how to make a deeply flavorful Vietnamese beef pho from scratch with this step-by-step guide. I break down the traditional broth-building process to create a clear, rich soup that’s layered with warmth and depth. While pho has a reputation for taking all day, most of the work is hands-off, and the result is a bowl that’s comforting, flavorful, and well worth the time.

Save this recipe!
Get this sent to your inbox, plus new recipes from us every week!
A bowl of Vietnamese beef pho.

Inspired by authentic Vietnamese recipes, my homemade beef pho soup focuses on nailing the perfect balance of a sweet, savory broth, tender meat, silky rice noodles, and fresh herbs that you can customize before serving. Whether you’re making pho for the first time or refining your technique, this recipe shows how thoughtful preparation turns simple ingredients into something truly special. I promise it’s a lot easier than you may think! 

Ingredients and Notes

See the recipe card below for the complete ingredient list and instructions.

Pho broth

  • Beef Bones – A combination of marrow and knuckle bones creates a rich, gelatinous broth with lots of depth and body. 
  • Beef Brisket – This adds body and rich beef flavor. Oxtail also works well, adding richness and natural gelatin. 
  • Aromatics – Charred onion and ginger form the backbone of the broth, creating pho’s signature aroma. I also include garlic and radish for a subtle sweetness and pungent depth.
  • Spices – Whole star anise, cinnamon sticks, cardamom pods, coriander seeds, and fennel seeds create pho’s warm, fragrant spice profile. Toasting the spices briefly before simmering brings out their essential oils without overpowering the broth.
  • Fish Sauce – This adds depth and umami flavor without making the broth taste fishy. 
  • Rock Sugar – This is optional, but it is traditional and helps balance the savoriness of the broth. 

Noodles, Meat, Sauce, & Garnishes

  • Rice Noodles – Thin rice noodles, also known as bánh phở, are traditional, making beef pho soup heartier and more filling. 
  • Beef – Thinly sliced sirloin or eye of round steak works best, cooking quickly as the hot broth is poured on top.
  • Dipping Sauce – A simple mix of hoisin, sriracha, and lime juice is served on the side for dipping slices of beef, adding sweetness, heat, and acidity to the flavor profile.
  • Garnishes – Fresh herbs and toppings like Thai basil, cilantro, mint, bean sprouts, green onions, lime wedges, and chilies are essential for customizing each bowl, adding brightness and crunch. 

How to Make an Authentic Beef Pho Recipe 

Nick DiGiovanni charring onions and ginger in a cast-iron skillet.
1. Char aromatics. Heat a cast-iron skillet over high heat on the stovetop, and sear the onion and ginger until deeply charred. 
Nick DiGiovanni pouring water over bones in a pot on the stovetop.
2. Cleanse the bones. Cover the bones and brisket in cold water, boil, drain, and rinse. 
Beef pho broth spices toasting in a cast-iron skillet.
3. Toast the spices. While the bones simmer, toast the spices in a dry skillet over medium-low heat just until fragrant, and set aside.  
Nick DiGiovanni pouring water over ingredients for beef pho broth in a pot.
4. Combine and simmer. Add all the ingredients to a large pot, placing the toasted spices in a sachet and tying it closed with butcher’s twine. Submerge the ingredients in cold water, bring the liquid to a boil, and reduce the heat to a gentle simmer. Let it cook gently, adding more water as needed and skimming any foam or scum from the surface.
Nick DiGiovanni straining beef pho broth.
5. Strain and chill. Remove the bones and solids, strain the broth, and season to taste. Then, chill the broth and braised meat in the fridge overnight, straining any fat solids from the chilled broth. 
Rice noodles soaking in water.
6. Soak and cook the noodles. Submerge the noodles in water. Then, boil them just until tender, according to the package instructions. Drain and rinse to prevent sticking. 
Nick DiGiovanni layering rice noodles and beef in a bowl for Vietnamese beef pho.
7. Layer. Portion the noodles into bowls, and add a few slices of raw beef and the reserved braised meat on top. 
Nick DiGiovanni squeezing a lime into a bowl of sauce.
8. Combine the sauce. Whisk all the ingredients in a bowl. 
Nick DiGiovanni pouring broth over a bowl of beef pho.
9. Serve. Heat the chilled broth, bringing it to a boil. Then, pour the liquid over the beef and noodles, add any garnishes, and enjoy warm. 

Nick’s Tips for Success

  • Char the aromatics deeply. Don’t rush this step. Deeply charring the onion and ginger adds smokiness and complexity to the broth without making it bitter.
  • Always blanch the bones. Boiling and rinsing the bones before the long simmer removes impurities and is key to a clear, clean-tasting broth.
  • Keep the simmer gentle. Pho broth should never boil hard. A very low simmer with just a few bubbles keeps the broth clear and prevents it from turning cloudy.
  • Skim as needed, not constantly. Light skimming during the first hour is usually enough. Over-skimming can strip flavor from the broth.
  • Slice the beef thinly against the grain. This ensures the meat cooks quickly and stays tender when the hot beef broth is poured over it.
  • Heat the broth until steaming hot. The broth should be near boiling so it cooks the raw beef slices instantly.
5 from 1 vote

Beef Pho Recipe

This homemade Vietnamese beef pho is all about patience and technique. By charring aromatics, blanching bones, and gently simmering spices, you get a clear, deeply flavorful broth that’s rich without being heavy. Finished with tender beef, silky rice noodles, and fresh herbs, this is a restaurant-quality bowl of pho you can absolutely make at home with a little time and care!
Servings: 6 servings
A bowl of Vietnamese beef pho.
Prep Time: 45 minutes
Cook Time: 6 hours 30 minutes
Chill Time: 8 hours
Total Time: 15 hours 15 minutes
Save this recipe!
Get this sent to your inbox, plus new recipes from us every week!

Equipment

  • 1 Cast iron skillet
  • 1 Large Stockpot
  • 1 Fine Mesh Strainer
  • 1 Cheesecloth and Kitchen twine
  • 1 Large Bowl
  • 1 Small Saucepan
  • 1 Sharp Knife
  • 1 Cutting Board

Ingredients 

For the Broth

  • 1 large onion, skin-on, halved
  • 4-inch (10 centimeter) piece ginger, halved lengthwise
  • 2 pound (900 gram) beef bone, marrow and knuckle bones
  • pound (680 gram) beef brisket or oxtail
  • cold water, to cover, (~5 quart / 4.7 milliliter)
  • 6 whole star anise
  • 3 cinnamon stick
  • 2 green cardamom pod
  • 1 teaspoon (2 gram) coriander seed
  • 1 teaspoon (2 gram) fennel seed
  • 6 garlic clove
  • ½ daikon radish, cut into large chunks
  • 1 teaspoon (3 gram) MSG
  • 1 tablespoon (15 gram) kosher salt, plus more to taste
  • 2 tablespoon (30 milliliter) fish sauce
  • 2 teaspoon (8 gram) rock sugar, optional

For the Noodles & Meat

  • 12 ounce (340 gram) thin rice noodle
  • 8 ounce (227 gram) beef sirloin or eye of round, thinly sliced against the grain

For the Dipping Sauce

  • 2 tablespoon (30 gram) hoisin sauce
  • 1 tablespoon (15 gram) sriracha
  • 1 teaspoon (5 milliliter) fresh lime juice

For Garnish & Assembly

  • Thai basil
  • cilantro
  • fresh mint
  • bean sprouts
  • scallion
  • lime wedge
  • jalapeño or Thai chili, diced

Instructions 

Make the Broth

  • Heat a cast-iron skillet over high heat. Place the onion and ginger cut-side down, and char deeply, about eight to ten minutes.
    1 large onion, 4-inch piece ginger
  • Place the beef bones and brisket in a large pot, cover with cold water, and bring the liquid to a boil. Boil for ten minutes, then drain, and rinse the bones and pot thoroughly.
    2 pound beef bone, 1½ pound beef brisket or oxtail, cold water
  • Toast the spices in a dry skillet over medium-low heat until fragrant, about five minutes. Remove the skillet from the heat.
    6 whole star anise, 3 cinnamon stick, 2 green cardamom pod, 1 teaspoon coriander seed, 1 teaspoon fennel seed
  • In a clean stockpot, combine the bones, brisket, charred onion, charred ginger, garlic, and daikon. Wrap the toasted spices in cheesecloth, and tie it with twine to make a sachet. Add the sachet to the pot.
    ½ daikon radish, 6 garlic clove
  • In the same stockpot, add MSG, salt, fish sauce, and enough cold water to fully cover the contents. Bring the liquid to a boil, then reduce the heat to a very gentle simmer. Skim foam as needed.
    1 teaspoon MSG, 1 tablespoon kosher salt, 2 tablespoon fish sauce
  • Simmer uncovered for six hours, maintaining a low simmer and topping off with water as needed.
  • Remove the bones and solids. Reserve any tender meat. Strain the broth through a fine-mesh sieve. Taste and adjust the seasoning with salt, fish sauce, or rock sugar.
    2 teaspoon rock sugar
  • Chill the broth overnight. Remove and discard the solidified fat from the surface before reheating.

Prepare the Noodles & Meat

  • Soak rice noodles in warm water for 20 minutes, or in cold water for up to one hour.
    12 ounce thin rice noodle
  • Bring a pot of water to a boil, and cook the soaked noodles just until tender, following the package instructions. Drain and rinse briefly.
  • Divide the cooked noodles among bowls. Top them with raw sliced beef and the reserved cooked meat.
    8 ounce beef sirloin or eye of round

Make the Sauce & Serve

  • Whisk the hoisin sauce, sriracha, and lime juice in a bowl until well combined. Serve on the side.
    2 tablespoon hoisin sauce, 1 tablespoon sriracha, 1 teaspoon fresh lime juice
  • Bring the clarified broth to a rolling boil.
  • Pour the steaming broth over the beef and noodles to cook the meat through.
  • Garnish generously with herbs, sprouts, chilies, and lime. Serve immediately.
    Thai basil, cilantro, fresh mint, bean sprouts, scallion, lime wedge, jalapeño or Thai chili

Video

YouTube video

Notes

*Adjust the ingredient amounts in the recipe instructions accordingly if doubling or tripling the recipe. 
Storage: Store broth in an airtight container in the refrigerator for up to four days or freeze for up to three months. Store noodles and cooked meat separately for up to two days. Reheat broth until boiling before serving.

Nutrition

Serving: 1serving, Calories: 482kcal, Carbohydrates: 59g, Protein: 35g, Fat: 11g, Saturated Fat: 4g, Polyunsaturated Fat: 1g, Monounsaturated Fat: 5g, Cholesterol: 91mg, Sodium: 2001mg, Potassium: 714mg, Fiber: 4g, Sugar: 5g, Vitamin A: 14IU, Vitamin C: 12mg, Calcium: 80mg, Iron: 4mg

Nutrition information is automatically calculated, so should only be used as an approximation.

iconLike this recipe? Rate & comment below!

FAQs

Can I make pho broth in an Instant Pot or slow cooker? 

Yes. For an Instant Pot broth, blanch the bones first, char the onion and ginger, then add all broth ingredients and pressure cook on high for three hours, followed by a natural release.

For a slow cooker broth, blanch the bones, char the onion and ginger, and cook all the ingredients on low for ten to twelve hours. In both cases, strain the broth, adjust the seasonings, and chill overnight if you want a clearer final broth.

Can I make pho with chicken or other proteins?

Absolutely. Chicken pho (phở gà) is made with chicken bones and meat instead of beef and uses a similar spice profile, though it’s often lighter on the spices. You can also make pho with oxtail, short ribs, or even seafood. The key is adjusting the simmer time based on the protein to keep the broth clean and balanced.

Can I use store-bought broth to make beef pho? 

Technically, you can, but I don’t recommend it. The flavor will be noticeably different. Store-bought beef broth lacks the depth, gelatin, and aromatic complexity that come from simmering bones and spices.

If you do use it, choose a low-sodium, high-quality broth, and enhance it by simmering with charred onion, ginger, and toasted pho spices for at least 45-60 minutes over medium heat or medium-high heat on the stove. This won’t fully replicate the traditional fragrant broth, but it will get you closer in a pinch.

icon

Nick DiGiovanni

Celebrity Chef & Content Creator

You May Also Like

5 from 1 vote

Leave a comment

Your email address will not be published. Required fields are marked *

Recipe Rating




1 Comment

  1. Shyanne says:

    5 stars
    I was shocked at how simple this was to prepare. Definitely worth the time!