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.

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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Slice the beef as thinly as you can manage, against the grain — freezing it for 15 minutes beforehand makes this much easier.
- Divide the noodles among four deep bowls and lay the raw beef slices on top.
- 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.
- 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