Raw yellowfin tuna. It gives 22.4g of protein per 100 calories and clears the USDA definition of lean on all three of its tests — the best combination of the 29 meat, poultry and seafood rows in our database that carry enough USDA data to test. Raw Atlantic cod is second at 21.7g, raw tilapia third at 20.9g, raw turkey breast fourth at 20.8g. Every figure here comes from USDA FoodData Central — yellowfin tuna is FDC 175159, cod FDC 171955 — so each one is checkable at source.
The awkward part is what the same test does to the three foods that actually top the protein-per-calorie table: cooked shrimp, cooked blue crab and cooked lobster score 24.2g, 21.6g and 21.3g of protein per 100 calories, and not one of them counts as lean. They fail on cholesterol — 189mg, 97mg and 146mg per 100g against a threshold of 95mg — while carrying between 0.28g and 0.86g of fat. Whether that disqualifies them for you is a separate argument. It is not one this data can settle, and we say more about that below.
What "lean" actually means here
Most articles that rank lean meats never say what lean means, which makes the list unfalsifiable. We use the USDA / FSIS labelling standard, because it is a published threshold rather than one we invented: a meat is lean if 100g contains less than 10g of total fat, no more than 4.5g of saturated fat, and less than 95mg of cholesterol. All three must hold. We apply it row by row to the USDA values we store, and we publish the foods that fail alongside the ones that pass.
Of the 33 beef, pork, poultry, lamb/game and seafood rows in our database, 29 carry all three values and can be tested; 15 of those 29 are lean and 14 are not. The other four are missing a value: anchovies have no saturated fat or cholesterol figure, sliced ham no cholesterol figure, and beef tenderloin and top sirloin steak no saturated fat figure. They are excluded from both lists rather than counted as zero — a missing USDA value means nobody measured it, not that there is none of it.
The 15 lean meats, ranked by protein per 100 calories
The last column is the one to rank on: protein delivered against a fixed cost of 100 calories. Every row below clears all three lean tests.
| Food | Calories /100g | Protein /100g | Fat /100g | Protein /100 kcal |
|---|---|---|---|---|
| Yellowfin tuna — raw | 109 | 24.4g | 0.49g | 22.4g |
| Cod — Atlantic, raw | 82 | 17.8g | 0.67g | 21.7g |
| Tilapia — raw | 96 | 20.1g | 1.7g | 20.9g |
| Turkey breast — meat only, raw | 114 | 23.7g | 1.48g | 20.8g |
| Scallops — raw | 69 | 12.06g | 0.49g | 17.5g |
| Chicken thigh — meat only, raw | 119 | 19.65g | 3.91g | 16.5g |
| Pork tenderloin — raw | 143 | 21.6g | 3.9g | 15.1g |
| Tuna — light, canned in oil, drained | 198 | 29.1g | 8.21g | 14.7g |
| Trout — rainbow, farmed, raw | 141 | 19.9g | 6.18g | 14.1g |
| Mussels — blue, cooked | 172 | 23.8g | 4.48g | 13.8g |
| Swordfish — raw | 144 | 19.7g | 6.65g | 13.7g |
| Duck — meat only, raw | 135 | 18.3g | 5.95g | 13.6g |
| Ground turkey — raw | 148 | 19.7g | 7.66g | 13.3g |
| Catfish — channel, farmed, raw | 119 | 15.2g | 5.94g | 12.8g |
| Oysters — eastern, farmed, raw | 59 | 5.22g | 1.55g | 8.8g |
Dark meat passes and shellfish fails, which is the opposite of the usual advice
Raw chicken thigh, meat only, is lean by the USDA standard: 3.91g of fat, 0.97g of saturated fat and 94mg of cholesterol per 100g (FDC 173627). It clears the cholesterol test by one milligram. Dark meat is the cut most "eat lean" advice tells you to skip, and once you remove the skin the row does not support that. It gives 16.5g of protein per 100 calories, sixth on the list, ahead of pork tenderloin.
Shellfish runs the other way. Cooked shrimp has 0.28g of fat and 0.06g of saturated fat per 100g, and 189mg of cholesterol (FDC 175180) — twice the lean threshold. Cooked lobster is 146mg, cooked blue crab 97mg, raw beef liver 275mg. On fat alone, all four would head the list. On the published standard, none of them qualifies.
We are reporting the test, not endorsing it. Dietary cholesterol's effect on blood cholesterol is genuinely contested, and the 2015 US dietary guidelines dropped the numeric daily cap that the 95mg labelling threshold was built around. A USDA row contains composition, not outcomes — it can tell you shrimp has 189mg of cholesterol per 100g and cannot tell you what that does to you. If cholesterol is not something you are managing, read the shellfish rows as the top of the table, which on protein per calorie is exactly where they sit.
The 14 that fail, and how far apart the ends are
Ranked the same way, the non-lean rows run from cooked shrimp at 24.2g of protein per 100 calories down to unprepared cured bacon at 3.5g (FDC 168277). That is a 6.4-fold spread from the top of this category to the bottom of it. Raw ground lamb is 5.9g, raw boneless ribeye 6.4g, cooked corned beef brisket 7.3g. The median across all 29 testable rows is 13.7g, so the fatty cuts are not slightly behind — they are at roughly a quarter of the top of the list.
Two rows worth naming, because they get called lean and are not by this standard: raw farmed Atlantic salmon (13.4g of fat per 100g, 9.8g of protein per 100 calories) and raw Atlantic mackerel (13.9g of fat, 9.1g per 100 calories). Both fail on total fat. Neither is a bad food and both fail the test — the standard measures fat, not merit, and oily fish is oily by definition.
What this list cannot tell you
Every figure above is for the raw or as-stored USDA row, which is the state the database holds. Cooking changes all of these numbers, mostly by driving off water and concentrating everything per 100g, and we do not estimate that shift. Where a row is already cooked — shrimp, crab, lobster, mussels, corned beef — the table says so. Trimming, skin and grade move the fat figure too, and a single USDA row cannot represent every cut sold under the same name.
Six rows are missing from this comparison on purpose. We exclude our chicken breast row and five others — pork chop, chicken drumstick, bison, chicken wing and pork belly — because those rows carry values we have confirmed are wrong. Chicken breast in particular would very likely lead a lean-meat ranking, and leaving it out with an explanation is better than ranking it on a figure we know does not hold. They go back in when the underlying data is corrected.
The practical catch is the same one every per-calorie ranking has: the numbers are per 100 calories, and nobody eats in 100-calorie units. 100 calories of raw cod is 122g; 100 calories of bacon is 25g. Knowing which of those you actually put on the plate, on a Tuesday evening, is where this stops being arithmetic and starts being admin. Sunn takes that part over WhatsApp: describe the plate in one line, or photograph it, and the day's protein is already totalled when you look.
More reading: the full protein-per-calorie ranking across all foods, everything in foods high in protein, the yellowfin tuna row in full, or the two comparisons this post keeps coming back to — turkey breast against chicken thigh and shrimp against yellowfin tuna.
Written by Espen Opdahl
Founder of Sunn. Building AI-powered nutrition coaching to make healthy eating simple. Nutrition data sourced from the USDA FoodData Central database.
Medical disclaimer: This content is for informational purposes only and is not a substitute for professional medical advice, diagnosis, or treatment. Always consult a qualified healthcare provider before making changes to your diet or exercise routine.