Worked out from this recipe's ingredients. If you're cooking for an allergy, always read the full ingredient list.
A weekend broth project: beef bones parboiled clean, blistered onion and ginger, toasted star anise and cassia, then a long, barely-trembling simmer until the liquid turns clear and deeply beefy. The bowl gets the full combination treatment — sliced brisket cooked tender in the pot, paper-thin raw eye of round that poaches in seconds, and springy homemade beef meatballs — over rice noodles with a plate of herbs, chiles and lime alongside.
Ingredients
Broth — bones and meat
4 lb beef marrow and knuckle bones, cut into 2–3 inch pieces
2 lb beef oxtail or meaty short rib bones
1 1/2 lb beef brisket, flat cut, in one piece
6 quarts cold water, plus more for parboiling
Broth — aromatics and spices
3 large yellow onions, halved and peeled
5 inch piece fresh ginger, unpeeled, halved lengthwise
5 whole star anise
1 cassia or cinnamon stick (3 inches)
5 whole cloves
1 1/2 tsp coriander seed
1 black cardamom pod, cracked (optional)
1 tsp fennel seed
Broth seasoning
1/4 cup fish sauce, plus more to taste
2 oz yellow rock sugar (or 2 tbsp granulated sugar)
1 tbsp kosher salt, plus more to taste
1 dried shiitake mushroom (optional, for depth)
Beef meatballs (bo vien)
1 lb beef top round or sirloin, trimmed and cut into 1-inch cubes
1 tsp baking soda
1 1/2 tbsp tapioca starch or cornstarch
1 tbsp fish sauce
1 tsp sugar
1/2 tsp garlic powder
1/2 tsp coarsely ground black pepper
3 tbsp ice water
1 tbsp neutral oil
Bowls
12 oz beef eye of round or top sirloin, in one piece, for rare slices
1 1/2 lb fresh rice noodles, or 14 oz dried flat rice noodles (banh pho)
1/2 yellow onion, shaved paper-thin
4 scallions, thinly sliced
1/3 cup chopped cilantro
Herb plate and table sauces
1 lb mung bean sprouts
1 bunch Thai basil
2 limes, cut into wedges
2 jalapeño or Thai chiles, thinly sliced
Hoisin sauce and sriracha, for serving
Instructions
Parboil the bones: put the marrow bones and oxtail in your largest stockpot, cover with cold water by 2 inches, and bring to a hard boil over high heat. Boil 10 minutes — gray foam and scum will rise aggressively. Drain into the sink, then scrub each bone under running water, rinsing away every bit of coagulated protein. Wash the pot until it is spotless. This single step is what makes the difference between cloudy broth and clear.
Char the aromatics: set the onion halves and ginger cut-side down directly on a gas burner set to medium-high, or under a broiler 4 inches from the element. Turn occasionally and char 8–12 minutes total, until the cut faces are blackened in patches and the kitchen smells sweet and smoky. Scrape off any loose burnt papery skin but leave the char itself.
Toast the spices: in a dry skillet over medium heat, toast the star anise, cassia, cloves, coriander, black cardamom and fennel for 2–3 minutes, shaking constantly, until fragrant and just beginning to smoke. Tie them in a spice bag or a double layer of cheesecloth (loose spices will make the broth muddy and bitter over a long simmer).
Build the broth: return the scrubbed bones to the clean pot, add the brisket in one piece, and pour in 6 quarts cold water. Bring to a bare simmer over medium heat — this takes 30–40 minutes — skimming any foam with a ladle. Once it simmers, add the charred onion and ginger, the spice bag, the rock sugar, 1 tbsp salt and the optional shiitake.
Simmer low and slow: adjust the heat so the surface just barely trembles, with a bubble breaking every second or two (about 195°F). Never let it boil. Cook uncovered or barely covered for 6 hours, skimming fat and foam every 45 minutes and topping up with hot water if the bones become exposed.
After 1 1/2 to 2 hours, test the brisket with a fork — it should be tender but still sliceable. Pull it out, plunge it into a bowl of ice water for 5 minutes to firm and stop the cooking, then pat dry, wrap and refrigerate. Remove the spice bag at the 2-hour mark as well; any longer and the anise turns medicinal.
Make the meatballs while the broth simmers: toss the cubed beef with the baking soda and freeze on a plate for 30 minutes, until very cold and firm at the edges. Pulse in a food processor with the tapioca starch, fish sauce, sugar, garlic powder, pepper, ice water and oil in 10-second bursts, scraping down, for 2–3 minutes total, until the mixture becomes a smooth, sticky, pale paste that pulls away from the bowl in one mass.
Chill the paste 20 minutes, then wet your hands and roll into 1-inch balls (about 24). Poach them in a separate pot of gently simmering salted water for 8–10 minutes, until they float and feel bouncy and firm. Transfer to cold water, then refrigerate. Do not cook them in your pho broth — they cloud it.
Freeze the eye of round for 45–60 minutes, until firm on the outside but not solid. With your sharpest knife, slice it across the grain as thinly as you possibly can — 1/16 inch, nearly translucent. Fan the slices on a plate, cover, and refrigerate. Slice the chilled brisket just as thinly, across the grain.
Finish the broth: strain it through a fine-mesh sieve lined with cheesecloth into a clean pot, discarding the solids. You should have 4 to 4 1/2 quarts. If it tastes thin, boil it down 15–20 minutes to concentrate. Season with the 1/4 cup fish sauce and more salt or rock sugar, tasting until it is assertively savory and faintly sweet — remember the noodles will dilute it. Skim the surface fat, leaving a thin golden slick for aroma.
Prepare the noodles: for dried noodles, soak in warm water 30 minutes, then boil 45–60 seconds and drain. For fresh, loosen and dip in boiling water 15–20 seconds. Rinse briefly under hot water, drain hard, and divide immediately among 6 large pre-warmed bowls — cold bowls kill the broth.
Return the broth to a full rolling boil and drop in the meatballs to reheat for 2 minutes. Top each bowl of noodles with brisket slices, 4 meatballs, and a fan of raw eye of round laid over the noodles. Scatter shaved onion, scallion and cilantro on top.
Ladle the boiling broth over each bowl from a height, aiming at the raw beef so it blanches to a rosy pink — about 1 1/2 cups per bowl. Serve immediately with the plate of bean sprouts, Thai basil, chiles and lime wedges, plus hoisin and sriracha in small dishes on the side.
Chef's tips
Clarity comes from two things only: the aggressive parboil-and-scrub at the start, and never letting the pot boil afterward. If your broth turns cloudy, it still tastes great — but you lost the boil war.
Make the broth 1–3 days ahead. It improves overnight, the fat cap lifts off in one solid disc from the cold pot, and assembly on serving day takes 20 minutes.
Ask the butcher to saw the marrow bones for you and to leave the fat cap on the brisket flat — it renders into the broth and gets skimmed later.
If slicing raw beef thin is intimidating, ask the butcher for shaved beef or use packaged shabu-shabu / hot pot beef from an Asian market. It is cut exactly right.
Store-bought frozen bo vien (Vietnamese beef balls) are a legitimate shortcut — simmer 5 minutes from frozen. But the homemade version's snappy texture comes from the baking soda and the near-frozen beef, and it is worth doing once.
Freeze leftover broth in 2-cup portions. Reheat to a hard boil before serving so it can cook the raw beef properly.
Nutrition (per serving, estimated)
720calories
58gprotein
68gcarbs
22gfat
Estimates only — values vary with brands and portions.
Made with Sprig
Combination Pho with Rare Steak, Brisket and Beef Meatballs was created in Sprig — the AI chef that turns any craving into a complete recipe, plans your week, and shops with one smart list.