Beef Pho with Homemade Broth in Under an Hour

There’s a moment when you lift the lid on a pot of simmering beef pho broth and the whole kitchen fills with star anise, charred ginger, and something deeply savory underneath it all — that’s the smell I chase every time I make this soup. Real beef pho usually asks for hours of quiet simmering, but I’ve found a way to get that same layered, long-cooked flavor by leaning on a good store-bought broth as a base and letting the bones and spices do their work fast and hard instead of low and slow.

This version still starts with real beef bones, charred aromatics, and a proper spice toast, so nothing here tastes rushed or thin. Expect a fragrant, faintly sweet broth, silky rice noodles, and paper-thin beef that cooks the second it hits the hot liquid in your bowl — all in about an hour, start to finish.

Cook straining homemade beef pho broth through a mesh sieve into a pot
Straining the hot broth

Ingredients

  • 2 lbs beef marrow bones or oxtail, cut into chunks
  • 1 lb beef short ribs, cut into chunks
  • 1 large yellow onion, halved
  • 1 (3-inch) piece fresh ginger, halved lengthwise
  • 6 cups low-sodium beef broth
  • 4 cups water
  • 3 whole star anise
  • 1 cinnamon stick
  • 4 whole cloves
  • 1 tbsp coriander seeds
  • 2 tbsp fish sauce
  • 1 tbsp sugar
  • 1 tsp salt, plus more to taste
  • 8 oz dried flat rice noodles (banh pho)
  • 12 oz beef sirloin or eye round, very thinly sliced
  • 2 cups fresh bean sprouts
  • 1 cup Thai basil leaves
  • 1/2 cup cilantro leaves
  • 3 scallions, thinly sliced
  • 1 jalapeño, thinly sliced
  • 1 lime, cut into wedges
  • hoisin sauce and sriracha, for serving

Instructions

  1. Place the beef bones and short ribs in a large pot, cover with cold water, and bring to a boil for 5 minutes; drain and rinse the bones and pot to wash away any grey foam and impurities.
  2. Char the onion and ginger under a broiler or directly over a gas flame, turning until blackened in spots and fragrant, about 5 minutes; let cool slightly, then peel off the charred skin.
  3. Toast the star anise, cinnamon stick, cloves, and coriander seeds in the dry, empty pot over medium heat for 1-2 minutes, shaking often, until you can smell them clearly.
  4. Return the bones to the pot with the charred onion, ginger, toasted spices, beef broth, and water; bring to a boil, skim off any foam, then lower to a steady simmer, uncovered, for 40 minutes.
  5. Stir in the fish sauce, sugar, and salt, taste, and adjust seasoning; strain the broth through a fine-mesh sieve into a clean pot, discarding the solids, and keep it at a low simmer.
  6. While the broth cooks, cook the rice noodles according to the package directions, then drain and rinse briefly with cool water so they don’t stick together.
  7. Slice the beef as thinly as you can manage, against the grain — freezing it for 15 minutes beforehand makes this much easier.
  8. Divide the noodles among four deep bowls and lay the raw beef slices on top.
  9. Ladle the hot broth over the beef and noodles so the broth’s heat gently cooks the beef in seconds, turning it from pink to pale in front of you.
  10. Top each bowl with bean sprouts, Thai basil, cilantro, and scallion, and serve immediately with jalapeño, lime wedges, hoisin, and sriracha on the side.

Tips

  • Freeze the raw beef for about 15 minutes before slicing — it firms up just enough to let you cut paper-thin pieces that cook instantly in the hot broth.
  • If you own a pressure cooker, you can cut the broth simmering time down to 25 minutes at high pressure and still get a deeply flavored result.
  • Broth freezes beautifully for up to 3 months in an airtight container, so it’s worth making a double batch and freezing half in portioned bags.
  • Keep the noodles and broth separate if you’re prepping ahead; combine them only right before eating so the noodles don’t turn mushy.
  • For a gluten-free version, double-check your fish sauce and hoisin labels, as some brands add wheat-based thickeners.

Nutrition (per serving, estimated)

  • Calories: 460 kcal
  • Protein: 32 g
  • Carbs: 52 g
  • Fat: 12 g

Prep: 15 min · Cook: 45 min · Serves: 4

Leave a Comment