The best high-protein foods, in plain terms, are lean meats, fish, eggs, and dairy — and for plant eaters, legumes and soy. That's the whole answer. Chicken breast, white fish, eggs, and Greek yogurt give you the most protein for the fewest calories; eggs, canned tuna, milk, and dried lentils give you the most protein for the fewest dollars. Everything else is a variation on those two questions: protein per calorie (for a cut) and protein per dollar (for a budget). Below I'll rank the foods by both, because those are the only two filters that actually matter once you know how much protein you need.
The highest-protein foods, ranked
Ranked by protein density — the most protein for the fewest calories, which is what you want on a cut — the leanest animal foods sit at the top, plant sources further down. Here are roughly 14 staples with honest per-serving numbers (cooked, USDA-ballpark):
| Food | Serving | Protein | |---|---|---| | Chicken breast (skinless) | 100g cooked | ~31g | | White fish (cod, tilapia) | 100g cooked | ~26g | | Canned tuna | 1 can (drained) | ~25–27g | | Lean beef (sirloin, 93% ground) | 100g cooked | ~26g | | Pork tenderloin | 100g cooked | ~26g | | Salmon | 100g cooked | ~25g | | Shrimp | 100g cooked | ~24g | | Nonfat Greek yogurt | 1 cup | ~17–20g | | Whey protein | 1 scoop | ~24g | | Cottage cheese (low-fat) | 1 cup | ~24g | | Tofu (firm) | 1/2 cup | ~10g | | Lentils | 1 cup cooked | ~18g | | Black beans | 1 cup cooked | ~15g | | Eggs | 1 large | ~6g |
The pattern is consistent: the leaner the animal food, the higher it ranks on protein-per-calorie. Chicken breast is the canonical example — about 31g of protein per 100g for only ~165 calories, which is close to the theoretical ceiling for a whole food. Eggs look low at ~6g each, but they're cheap, complete, and easy to eat three or four of, so they earn their spot.
Best protein per dollar
If your constraint is money, not calories, the ranking flips toward eggs, dairy, and dried legumes. Protein per dollar is the metric nobody markets because there's no supplement to sell at the bottom of it. Rough order, cheapest protein first:
- Dried lentils and beans — a bag delivers 70–100g+ of protein for a couple of dollars.
- Eggs — a dozen is ~72g of complete protein, usually under $4.
- Milk — about 8g per cup, and a gallon is one of the cheapest protein sources in any grocery store.
- Canned tuna — ~25g a can, often $1–2.
- Chicken thighs — cheaper than breast, slightly fattier, still ~25g per 100g cooked.
- Whole chicken / bone-in cuts — more work to break down, lowest cost per gram of any poultry.
Whey protein deserves a note here: at ~24g a scoop, it's often cheaper per gram of protein than meat, and it's genuinely useful for hitting a target. It's a convenience tool, not a requirement — whole food covers everything it does.
Best plant-based sources
For plant eaters, soy and legumes are the workhorses, with seitan as the protein-dense outlier. Plant proteins are real protein — you just need slightly more total and some variety, because most are lower in leucine and a few are incomplete on their own. The densest options:
- Soy foods — tofu (~10g per 1/2 cup), tempeh (~17g per 1/2 cup), edamame (~17g per cup), and soy milk are complete proteins and the closest plant analog to animal foods.
- Lentils — ~18g per cooked cup, and near the top on protein-per-dollar too.
- Beans — black, kidney, chickpeas all land ~15g per cooked cup.
- Seitan — wheat gluten, ~21g per 3oz; protein-dense but not complete, so pair it with legumes.
Combine across the day and completeness takes care of itself — you don't need to balance amino acids at every meal. I cover the full list and the leucine math in the vegan protein sources breakdown.
How to actually use this
Don't try to optimize all 14 foods. Pick three or four you'll actually eat repeatedly and build your day from those — that's the engineer's move, and it's how I run my own meals. I'm cutting, so I anchor on the protein-per-calorie list: chicken breast, Greek yogurt, eggs, and a scoop of whey cover most of a day's target without much thought, because I'd rather spend my decision budget once than re-litigate every meal.
A practical way to think about it: most guys aiming for ~150–200g a day can get there with four anchor foods hitting roughly 30–50g each. One lean meat, one dairy source, eggs, and either a legume or a scoop of whey will do it. If you want the exact number to aim at, the protein calculator sets it from your goal weight in about thirty seconds, and then this list is just the menu you fill it with.
That's the entire system: know your number, then pick from the top of whichever ranking matches your constraint. If you want the four-meal blueprint I actually eat — exact foods and amounts to hit 200g without living in the kitchen — grab the free guide.