Gather ingredients:
2–3 lb (900–1,400 g) beef bones (oxtail, marrow bones, knuckles) or a mix of bones
1 large yellow onion, halved
4–6-inch piece ginger, sliced
3–5 lb (1.4–2.3 kg) water (enough to cover bones)
1–2 tbsp kosher salt (adjust to taste)
2–6 tbsp fish sauce (adjust to taste)
1–2 tbsp rock sugar or 1–2 tsp brown sugar (optional)
1–2 tsp toasted ground coriander
1–2 tsp toasted fennel seeds (or 1–2 tsp crushed)
3–5 whole star anise
2–4 whole cloves
1 cinnamon stick (optional)
1–2 tsp black peppercorns
1–2 tbsp charred onion/ginger juices (from roasting)
Rice noodles (pho rice sticks)
Beef for serving (common choices):
1–2 lb (450–900 g) brisket, eye of round, or rare steak, thinly sliced
Optional: cooked brisket slices
Toppings:
Fresh herbs: Thai basil, cilantro, mint
Bean sprouts
Lime wedges
Jalapeños or Thai chilies, sliced
Hoisin sauce (optional)
Sriracha (optional)
Scallions, thinly sliced (optional)
Prep aromatics:
Char onion halves and ginger slices on a dry pan or under a broiler until blistered/blackened
Set aside charred pieces
Clean bones (recommended):
Rinse bones
Blanch: simmer bones in water 5–10 minutes, then drain and rinse thoroughly
Toast spices:
In a dry pan, toast coriander, fennel, peppercorns, cloves, and cinnamon (if using) for 1–2 minutes until fragrant
Place toasted whole/ground spices in a spice bag or wrap in cheesecloth
Roast/boil broth:
Add bones to a large pot
Add water, charred onion, charred ginger, and spice bag
Bring to a boil, then reduce to a gentle simmer
Skim foam regularly for the first 30–60 minutes
Simmer:
Simmer 4–8 hours for best flavor
Add salt gradually near the last hour
Season broth:
Remove spice bag
Strain broth through a fine sieve
Stir in fish sauce and sugar (optional) to balance
Taste and adjust salt/fish sauce
Prep noodles:
Cook rice noodles according to package directions
Drain and keep warm (do not overcook)
Prep beef:
Thinly slice raw beef for rare pho
Keep cooked brisket separate if using
Assemble bowls:
Add noodles to serving bowls
Arrange raw beef slices on top
Optional: add cooked brisket slices
Finish with hot broth:
Ladle boiling-hot broth over noodles and beef
Let sit 10–30 seconds so beef cooks to desired doneness
Serve:
Top with bean sprouts and herbs
Serve with lime wedges, sliced chilies, hoisin, and sriracha
