Homemade Beef Phở (Vietnamese Noodle Soup)
Homemade Beef Phở (Vietnamese Noodle Soup) is a medium Vietnamese recipe that serves 4. 450 calories per serving. Recipe by Strictly Dumpling on YouTube.
Prep: 30 min | Cook: 6 hrs 25 min | Total: 7 hrs 15 min
Cost: $29.90 total, $7.48 per serving
Ingredients
- 1 piece Yellow rock sugar (About 10 g; adds deep sweetness)
- 2 tablespoons Salt
- 0.5 cup Fish sauce (Use a good quality, aromatic brand)
- 10 pieces Star anise
- 1 stick Cinnamon stick
- 5 leaves Bay leaves
- 1 teaspoon Fennel seeds
- 2 medium Onion (Halved for roasting)
- 6 oz Fresh ginger (Cut into large chunks for roasting)
- 3 lb Oxtail (Can substitute beef shank bones)
- 1 lb Thinly sliced beef (brisket) (Slice as thinly as possible; used for quick cooking in broth)
- 1 lb Flat rice noodles (Prefer the brand listed in video description)
- 2 cups Bean sprouts
- 1 bunch Green onions (scallions) (Chopped for garnish)
- 1 bunch Cilantro (Chopped for garnish)
- 1 handful Thai basil (Roughly torn)
- 2 pieces Lime (Cut into wedges for serving)
- to taste Sriracha (Adds heat)
- to taste Hoisin sauce (Adds sweet‑savory depth)
Instructions
Roast onion and ginger
Preheat the oven to broil. Halve the onions and cut the ginger into large chunks. Spread them on a roasting sheet, peel the outer layer, and place in the oven. Roast for 20 minutes, flipping at the 10‑minute mark so they brown but do not blacken.
Time: PT20M
Temperature: Broil
Initial boil of bones
Place the oxtail (or beef leg bones) in the large pot, cover with cold water, and bring to a rapid boil. Boil for about 10 minutes, then skim off all foam and scum that rises to the surface.
Time: PT10M
Temperature: High boil
Clean the bones
Drain the pot, rinse the bones under running water to remove residual scum and impurities. Set the cleaned bones aside.
Time: PT5M
Start the broth base
Return the cleaned bones to the pot, add about 2 gallons (7.5 L) of fresh cold water, and bring to a boil again. Reduce to a gentle simmer.
Time: PT5M
Temperature: Medium simmer
Prepare the spice bag
Combine star anise, cinnamon stick, bay leaves, fennel seeds, rock sugar, salt, and fish sauce in a piece of cheesecloth. Tie securely to form a spice bag.
Time: PT5M
Add spices and simmer
Add the spice bag to the simmering pot. Lower the heat to maintain a gentle simmer and continue to skim any foam that appears.
Time: PT5M
Temperature: Low simmer
Long slow simmer
Let the broth simmer uncovered for 5 – 6 hours, adding water if the level drops too low. Continue to skim scum every 15‑30 minutes. The long simmer extracts collagen and flavor, yielding a rich, clear broth.
Time: PT5H30M
Temperature: Low simmer
Strain and chill (optional fat removal)
Remove the spice bag and bones. Strain the broth through a fine mesh strainer lined with cheesecloth into a clean container. If you have time, refrigerate the broth for several hours; the fat will solidify on top and can be skimmed off.
Time: PT10M
Prepare garnishes and beef
Thinly slice the brisket against the grain. Roughly chop cilantro, green onions, and Thai basil. Slice lime into wedges. Rinse bean sprouts. Set all garnishes in small bowls.
Time: PT10M
Cook rice noodles
Soak the flat rice noodles in hot water according to package directions (usually 5‑7 minutes) until just tender. Drain and divide among serving bowls.
Time: PT5M
Temperature: Hot water
Assemble the pho bowls
Place a handful of raw beef slices on top of the noodles. Ladle the boiling broth over the beef; the heat will cook the thin slices instantly. Add cilantro, green onions, basil, lime wedges, bean sprouts, and a drizzle of Sriracha and hoisin sauce to taste.
Time: PT5M
Nutrition Facts
- Calories
- 450
- Protein
- 30 g
- Carbohydrates
- 55 g
- Fat
- 12 g
- Fiber
- 3 g
Dietary info: gluten‑free, dairy‑free, high-protein
Allergens: fish
Last updated: April 7, 2026






