Pho is the rare restaurant meal that already looks like something a nutritionist drew up. Clear broth, rice noodles, a few slices of lean beef, and a whole side plate of raw herbs and sprouts you tear up and push under the surface yourself. Compared with most of what arrives in a takeout container, it feels virtuous. The dish came out of Nam Dinh province in northern Vietnam around the turn of the last century, when French demand for beef left local cooks with a surplus of marrow bones, and they simmered them for up to 12 hours with onion, ginger, star anise, cardamom, cinnamon, and coriander. It has been a frugal, aromatic, mostly-broth dish from the beginning.
So we built a restaurant-style bowl of pho tai — rare eye of round, a generous tangle of noodles, two cups of properly seasoned broth, a squeeze of lime, and the usual swirl of hoisin and sriracha — and ran it through Eat Well Planner's Nutrition Score, the same number that shows on any public recipe page. It came back 47 out of 100, with two cautions attached: sodium at 130% of a day's value, and added sugar at 28%.
We got it to 70, keeping every ounce of the beef, the white rice noodles, and the fish sauce. And the most useful thing we learned along the way is not the total. It is that adding a tablespoon of oil to the bowl was worth more points than removing two-thirds of the salt. Below is every swap, what it actually earned, and the two popular fixes that made the score go down.
The original: what's in it and how it scores
Here is the bowl we scored, built for four people. The broth seasoning is scaled straight from Andrea Nguyen's classic recipe at Viet World Kitchen, which finishes a pot serving six to eight with 1 1/2 tablespoons of fine sea salt, 4 tablespoons of fish sauce, and an ounce of rock sugar — so this is what pho actually is, not a strawman we built to knock down:
- 8 cups unsalted beef stock (2 cups per bowl), seasoned with about 13.5 g of salt, 2 tablespoons of fish sauce, and 14 g of rock sugar
- 14 oz dried banh pho rice noodles
- 12 oz beef eye of round, sliced paper-thin
- 4 oz bean sprouts, plus a small handful each of Thai basil, cilantro, scallion, sliced onion, and jalapeno
- 2 tablespoons lime juice
- 1/4 cup hoisin sauce and 1/4 cup sriracha, split between the four bowls
Nutrition Score: 47/100. Before the diagnosis, the good news, because there is a lot of it and pretending otherwise would be dishonest. This bowl delivers 37 g of protein for 611 calories. Saturated fat is 1.6 g per serving, which is remarkable for a beef dish. And the micronutrients are real: 77% of a day's vitamin B12, 69% phosphorus, 63% B6, 58% vitamin K, 47% iron, 39% zinc. Pho is not hiding anything. Most of what it looks like, it is.
Two things hold it at 47, and they are exactly the two the app flags:
- Sodium, by a mile. 3,000 mg per serving — 130% of a day's value in one bowl. Harvard's Nutrition Source puts the chronic-disease-risk-reduction ceiling at 2,300 mg a day, with 1,500 mg as the adequate intake, and notes Americans already average about 3,400 mg. A single bowl clears the ceiling on its own. Do the arithmetic on the ingredients above and it is not mysterious: the salt in the pot is about 1,300 mg a serving, the fish sauce another 670, and the hoisin and sriracha add 620 between them.
- The added sugar nobody mentions. 7.4 g per serving, flagged as a second caution at 28% of a day's value. Roughly half is the rock sugar that rounds out a southern-style broth and half is the hoisin. It is not a lot in absolute terms, but it is real, and it is the part of pho that surprises people.
Notice what is not on that list. Not the beef, which is lean and carrying most of the bowl's iron, zinc, and B12. Not the fat, at 5.2 g per serving. And the fiber, at 4.1 g against the 25 to 35 g a day Harvard says adults need, is low but not the main event. Plant variety comes in at 4.5 plant points against a weekly target of 30, because the famous herb plate is a garnish by weight, not a vegetable course.
One honest caveat before we start fixing things: the score assumes you finish the bowl, broth and all. About 72% of the sodium here is dissolved in the liquid. Leave a third of the broth in the bowl, the way plenty of people do, and you have quietly skipped roughly 720 mg without changing a single ingredient.
The upgrades
Four changes, applied in this order, each scored on top of the last. If you only make one, make the first.
1. Flip the noodle-to-vegetable ratio
- Swap: 14 oz noodles and a token herb plate → 8 oz noodles, 12 oz bean sprouts, tripled herbs, and 1 lb of baby bok choy poached in the broth
- Score impact: +12 points (47 → 59)
- What it changes: Fiber goes from 4.1 g to 6.3 g per serving and calories fall from 611 to 496, while the protein holds steady
- What it costs you: This is the one you will notice. Two ounces of dry noodles per bowl instead of three and a half is a real cut
This is the biggest single mover, and it is less a health intervention than a correction. The garnish plate that comes with pho is meant to be used — all of it, pushed under the broth in handfuls until it wilts. Most of us eat two leaves of basil and a pinch of sprouts and leave the rest on the plate. Triple what is on the plate, actually use it, add halved baby bok choy poached in the broth for thirty seconds, and the bowl fills up with something other than noodles.
Be honest with yourself about the noodle cut, because it is the trade. We tested going further and pulling the noodles down to 5 oz across four bowls: the score went down a point, to 58, and the bowl felt thin. Eight ounces is where the ratio has flipped and the dish is still recognizably pho. The extra bulk from sprouts, greens, and herbs is what makes the smaller noodle portion survive.
2. Put dried mushrooms in the broth
- Swap: Add 1 oz dried shiitake to the simmering broth, plus 6 oz fresh shiitake sliced into the bowls
- Score impact: +2 points (59 → 61)
- What it changes: Fiber jumps again, from 6.3 g to 8.2 g per serving, and plant points go from 5.5 to 7.5
- What it costs you: Nothing. It makes the broth taste more like itself
Two points is nearly a rounding error, and this swap earns its place anyway — because it is what makes the next one survivable. Drying transforms a shiitake into a savory bomb: the Umami Information Center puts fresh shiitake at 70 mg of glutamate per 100 g and dried shiitake at 1,060 mg, plus 150 mg of guanylate that only forms during drying. Glutamate and guanylate together are umami's strongest synergy, which is why a handful of dried caps does more for a pot of broth than a much larger pile of fresh ones.
That matters because glutamate is a lever on salt. A review of clinical trials on L-glutamate for salt reduction found that adding glutamate to a 40% sodium-reduced solution restored palatability to baseline, and that a hospital intervention achieved a 26% average daily salt reduction without patients eating less. Umami does not taste salty on its own; it makes a lower-salt dish taste finished instead of unfinished. If that sounds like an argument for MSG, it partly is — we covered why MSG got framed separately. Mushrooms are the same chemistry arriving with fiber attached.
3. Take the salt and the rock sugar out of the pot
- Swap: Drop the 13.5 g of salt, the rock sugar, and the hoisin-and-sriracha swirl. Keep the 2 tablespoons of fish sauce, and lean on charred onion and ginger, toasted whole spices, and the mushrooms instead
- Score impact: +4 points (61 → 65)
- What it changes: Sodium falls from 2,950 mg to 1,020 mg per serving — from 128% of a day's value to 45%, and out of the very-high caution band entirely. Added sugar goes from 7.4 g to 0.3 g, clearing the second caution
- What it costs you: The specific sweet-hot swirl a lot of people think of as the taste of pho
Four points is a modest return for a two-thirds cut in sodium, and this is the place to say plainly that the score is understating it. A composite number has to weigh a dozen things at once. Blood pressure is one thing, measured directly. The CARDIA-SSBP crossover trial published in JAMA in 2023 moved 213 adults from a high-sodium diet to a low-sodium one for a single week and found an 8 mm Hg mean difference in systolic blood pressure — an effect the authors compare to 12.5 mg of hydrochlorothiazide, with about 75% of participants responding. If you make one change from this post for reasons that have nothing to do with a score, make this one.
The technique that lets a low-salt pho broth still taste like pho is the charring. Set the halved onion and the split ginger cut side down over a live flame or under a broiler until they blacken in patches — Nguyen chars hers directly on the burner grate for about 15 minutes, then rinses the burnt skin off. Boiling water tops out at 212F and can never produce those roasted, faintly bittersweet compounds; a flame can. Toast the star anise, cinnamon, cloves, coriander, and fennel in a dry pan first, too. Between the char, the spice, and the mushrooms, two tablespoons of fish sauce carries the whole pot. If you need to work around a bottle, our fish sauce, broth, and fresh ginger guides cover the ratios.
On the sauce bottles: skipping them is worth about 620 mg of sodium and 3.9 g of added sugar per serving. If the swirl is the part you love, use it — you will still be far below where you started. Just squeeze it into your spoon rather than stirring it through the broth, so you taste it instead of diluting it.
4. Finish with crispy fried shallots
- Swap: Add 2 oz shallots fried until deep golden in 1 tablespoon of canola oil, scattered over the bowls with a spoonful of their oil
- Score impact: +5 points (65 → 70)
- What it changes: Plant-based omega-3 ALA goes from a flagged weakness to 21% of a day's value, and the bowl gets back some of the richness the unsalted broth gave up
- What it costs you: Eight minutes at the stove and about 40 calories a bowl
Here is the finding we did not expect: this was the highest-scoring change in the whole makeover, worth more than cutting two-thirds of the sodium. And it has almost nothing to do with the shallots. It is the oil. Once the salt and the noodles were dealt with, the only nutritional gap left that a beef noodle soup can plausibly fill was ALA, the plant-form omega-3, and canola oil is one of the densest common sources of it. One tablespoon across four bowls closes the gap.
Hanh phi — crispy fried shallots — are a genuine Vietnamese topping, so this is not a nutritional bolt-on. It also solves a texture problem. A lean, low-salt broth can taste austere, and fat is what makes broth feel like broth; frying the shallots and spooning a little of the fragrant oil over each bowl puts the mouthfeel back and adds crunch on top. If you would rather skip it, the bowl still scores 65, which is eighteen points above where we started.
Take the Guesswork Out of Eating Well
Eat Well Planner helps you organize your favorite recipes, plan balanced meals, and automatically generate shopping lists — all in one place. Whether you're tracking macros, managing dietary restrictions, or just trying to stop asking "what's for dinner?", we've got you covered.
Our AI-powered tools can adapt any recipe to your dietary needs, help you discover new meals you'll love, and even log your nutrition effortlessly. It's meal planning made simple.
Start Organizing Your Meals — FreeWhat we kept (on purpose)
The rice noodles. Refined white rice noodles are the obvious target for anyone looking to "fix" pho, and we left eight ounces of them in, because banh pho is pho — the dish is named for the noodle. We tested the usual alternative below and it made things worse in both directions.
The beef, all twelve ounces of it, sliced paper-thin and cooked by nothing but the boiling broth poured over it. Eye of round is already lean, it supplies most of the B12, zinc, and iron in the bowl, and there was no version of this makeover in which taking beef out of beef noodle soup was an improvement.
And the fish sauce, because it is the savory floor the whole broth stands on. This is where we stopped: the finished bowl's remaining complaints are low long-chain omega-3s and low vitamin D, and there is no way to answer either in a beef noodle soup without putting fish or fortified dairy in it. At that point it is not pho anymore, so 70 is the honest ceiling for this dish.
The healthier version: full recipe
Nutrition Score: 70/100. Serves 4.
For the broth
- 8 cups unsalted beef broth (no-salt-added store-bought, or homemade beef bone stock)
- 1 oz dried shiitake mushrooms (about 8 caps)
- 1 large yellow onion, halved through the root
- 1 piece fresh ginger, about 3 inches, halved lengthwise
- 3 star anise pods
- 1 cinnamon stick, about 3 inches
- 3 whole cloves
- 1 teaspoon coriander seeds
- 1 teaspoon fennel seeds
- 2 tablespoons fish sauce
For the bowls
- 8 oz dried banh pho rice noodles, 1/8-inch wide
- 12 oz beef eye of round
- 16 oz baby bok choy (about 4 heads), halved lengthwise
- 6 oz fresh shiitake mushrooms, stemmed and sliced
- 2 oz shallots (about 2 medium), sliced paper-thin
- 1 tablespoon canola oil
For the plate
- 12 oz mung bean sprouts (about 4 cups)
- 1 1/2 oz Thai basil (about 2 cups, loosely packed)
- 1 1/2 oz cilantro (about 2 cups, loosely packed)
- 3 oz scallions (about 6), thinly sliced
- 3 oz yellow onion (about half a medium onion), sliced paper-thin
- 1 jalapeno (about 1 oz), thinly sliced
- 2 limes, cut into wedges
- Char the aromatics. Set the halved onion and the split ginger cut side down in a dry heavy skillet over high heat, or on a sheet pan under the broiler, and cook until blackened in patches, 8 to 10 minutes, turning once. Rinse off any loose burnt skin under warm water.
- Toast the spices. In the same dry skillet over medium heat, toast the star anise, cinnamon, cloves, coriander, and fennel until fragrant, 2 to 3 minutes. Tie them in cheesecloth or drop them into a tea ball.
- Build the broth. Combine the beef broth, dried shiitake, charred onion and ginger, and the spice bundle in a large pot. Bring to a bare simmer and hold it there, uncovered, for 40 minutes. Do not let it boil hard or it will turn cloudy.
- Fry the shallots. While the broth simmers, heat the canola oil in a small skillet over medium heat. Add the sliced shallots and cook, stirring often, until deep golden, 6 to 8 minutes. Lift them onto a paper towel with a slotted spoon and reserve both the shallots and the oil.
- Slice the beef. Freeze the eye of round for 20 to 30 minutes, until firm at the edges, then slice it across the grain as thinly as you can manage. Keep it cold until you assemble.
- Finish the broth. Remove the spice bundle and the charred aromatics. Fish out the dried shiitake, slice them, and return them to the pot. Stir in the fish sauce and taste: it should read slightly under-seasoned on its own, because the noodles, herbs, and lime all land on top of it.
- Cook the vegetables in the broth. Add the fresh shiitake and the bok choy to the simmering pot and cook until the stems are crisp-tender, 3 to 4 minutes. Lift them out and divide among four large bowls.
- Cook the noodles separately, following the package — usually a 6 to 8 minute soak in hot water or about a minute in boiling water. Drain and divide among the bowls.
- Assemble. Lay the raw beef over the noodles in each bowl. Bring the broth back to a hard rolling boil, then ladle about 2 cups into each bowl, pouring directly over the beef so it cooks through in seconds.
- Top each bowl with the sliced raw onion, scallions, crispy shallots, and a little of the shallot oil. Serve with the plate of bean sprouts, Thai basil, cilantro, jalapeno, and lime wedges, and use all of it.
Per serving, original versus improved:
- Nutrition Score: 47 → 70
- Calories: 611 → 504
- Sodium: 3,000 mg (130% DV) → 1,030 mg (45% DV)
- Added sugar: 7.4 g → 0.3 g
- Fiber: 4.1 g (14% DV) → 7.8 g (26% DV)
- Protein: 37 g → 39 g
- Saturated fat: 1.6 g → 1.8 g
- Plant points: 4.5 → 8.5
The finished bowl is an excellent source of twenty separate nutrients, including 172% of a day's vitamin K, 96% of B6, 78% of vitamin C, 77% of B12, 62% of iron, and 51% of zinc. Potassium climbs from 21% to 40%, which matters more than it sounds — Harvard notes that people with the highest ratio of sodium to potassium in their diets had double the risk of dying of a heart attack compared with those with the lowest, and this makeover moved that ratio from both ends at once. We dug into that trade in the other half of the salt equation. Plant points nearly doubling is the other quiet win, and the reasoning behind it is in our piece on 30 plants a week.
Swaps we tested and skipped
Brisket instead of rare eye of round (70 → 69). We expected this to be the interesting protein question, and it turned out to be a wash in the wrong direction. Swapping the twelve ounces of eye of round for brisket costs a point and pushes saturated fat from 1.8 g to 2.3 g per serving. Pho chin is delicious and the difference is small enough to ignore — order it, cook it, enjoy it. Just do not do it thinking it is the healthier choice.
Zucchini noodles instead of rice noodles (70 → 69). The swap the internet reaches for first, and it manages to be worse on both counts: it loses a point and it stops being pho. Replacing the 8 oz of banh pho with 24 oz of spiralized zucchini drops the bowl to 327 calories, which sounds like a win until you notice the score did not reward it. Pho is a noodle soup. Take out the noodle and you have made a perfectly nice beef and vegetable broth, which is a different dish that nobody searched for.
Cutting the noodles to 5 oz (59 → 58). Once the vegetables were in, taking the noodles below 8 oz stopped buying anything and started costing. We put the ounces back.
Make it fit other diets
Pho adapts more easily than most dishes, because the broth carries everything. For pho chay (vegan), drop the beef and the fish sauce, build the broth on the charred aromatics, dried shiitake, and a piece of kombu, season with a light soy sauce, and add pan-seared tofu and more mushrooms — our soy sauce guide covers the lower-sodium options. For gluten-free, the bowl already is one: rice noodles are naturally gluten-free, and the only things to check are the fish sauce label and the hoisin, if you use it. In the app, asking the AI recipe chat to "make this vegan" or "make this gluten-free" rewrites the whole recipe with the substitutions worked in, so you get a full method rather than a list of things to figure out at the stove.
Do this to your own recipes
Every number in this post came out of the same two tools anyone can use. We imported the recipe, read its Nutrition Score and the factors behind it, then worked through Make It Healthier, which proposes ingredient swaps and runs each one through a calculator before it shows you the gain — so you are never told a swap helps when it does not. The per-swap deltas came from the Recipe Playground, where you change one ingredient and watch the score move.
That is also how we caught the interesting part of this post. Nobody would have predicted that a tablespoon of frying oil was worth five points and cutting two-thirds of the sodium was worth four. You find that out by testing, not by reasoning about it, which is the entire argument for keeping a calculator in the loop — and a reminder that a single composite number is a starting point for a conversation, not the last word. We cut the salt anyway.
Saw a bowl on TikTok or a recipe on a blog you want to try? Import it from the URL, the Instagram reel, or the YouTube video, and see what it scores before you cook it. Then keep what you love and fix what the numbers say is actually broken — which, in the case of pho, may not be what you assumed.