Which foods are high in protein?
Lean meat, fish and cheddar: 20 to 32 g per 100 g. Nuts and eggs follow. But 100 g isn’t a portion: it takes 400 g of baked beans to match 75 g of chicken.
On this page

Which foods have the most protein?
Lean meat comes top. In the UK food tables, grilled chicken breast has 32 g of protein in every 100 g. Lean pork, beef and lamb are close behind.
Cheddar and fish come next, with almonds close behind, then shellfish, walnuts and eggs. Tofu, lentils and beans have less in each 100 g.
| Food | Protein per 100 g | Group |
|---|---|---|
| Chicken breast, grilled, no skin | 32.0 g | Meat |
| Pork chop, lean, grilled | 31.6 g | Meat |
| Beef steak, lean, grilled | 31.0 g | Meat |
| Lamb chop, lean, grilled | 29.2 g | Meat |
| Reduced-fat cheddar | 27.9 g | Dairy |
| Cheddar | 25.4 g | Dairy |
| Tuna, canned in brine | 24.9 g | Fish |
| Salmon, grilled | 24.6 g | Fish |
| Cod, baked | 23.9 g | Fish |
| Almonds | 21.1 g | Nuts |
| Mackerel, grilled | 20.3 g | Fish |
| Crab, canned in brine | 18.1 g | Shellfish |
| Prawns, cooked | 15.4 g | Shellfish |
| Walnuts | 14.7 g | Nuts |
| Egg, boiled | 14.1 g | Eggs |
| Cottage cheese | 9.4 g | Dairy |
| Tofu, steamed | 8.1 g | Soya |
| Red lentils, boiled | 7.6 g | Pulses |
| Chickpeas, canned | 7.2 g | Pulses |
| Kidney beans, canned | 6.9 g | Pulses |
| Plain Greek-style yoghurt | 5.7 g | Dairy |
| Baked beans | 5.0 g | Pulses |
| Semi-skimmed milk | 3.5 g | Dairy |
Source: BNF (McCance and Widdowson)
Bread, pasta and other cereals count too. They give 24% of the protein people in the UK eat, second only to meat.
Find the main food in your next meal on the list. If it sits near the bottom, you’ll need a bigger portion of it.
Which protein foods are best per portion?
This is the portion catch. You eat a plate, not 100 g. Dietitians at the BDA list everyday portions that each give about 20 g of protein.
Source: BDA
Three medium eggs or a pint (600 ml) of semi-skimmed milk also give about 20 g.
A high number per 100 g isn’t always an easy portion. Cheddar has 25.4 g, so 20 g of protein takes nearly 80 g of cheese. And dairy foods contain saturated fat (a type of fat that can raise cholesterol), the type to eat less of.
On a pack, check protein per 100 g. Then think about how much you’d really eat in one go.
What are the best sources of protein?
There’s no single best one. NHS advice steers you towards lean meat, fish and pulses, with less red and processed meat.
Pulses are beans, peas and lentils. The NHS calls them good alternatives to meat.
Animal foods have every building block (amino acid) your body needs in good amounts. Many plant foods are lower in one or more. Still, a varied plant diet can give you all the protein you need.
Healthier ways to get your protein
- Choose lean cuts of meat and mince, and chicken or turkey without the skin.
- Eat more than 90 g (cooked weight) of red or processed meat a day? Cut down to 70 g.
- Limit sausages, salami, pâté and beefburgers. They’re usually high in fat and often high in salt.
- Eat at least 2 portions of fish a week, including 1 of oily fish. A portion is around 140 g. The advice may be different if you’re pregnant, breastfeeding or a child.
- Steam, bake or grill fish rather than fry it.
- Choose reduced fat milk, cheese and yoghurt. Don’t give skimmed or 1% milk as a drink to children under 5.
Sources: NHS: meat; NHS: fish; NHS: dairy; BNF
Girls and women who haven’t been through the menopause should have no more than 2 portions of oily fish a week, the NHS says. If you’re trying for a baby or pregnant, have no more than 4 cans or 2 steaks of tuna a week.
Skip meat? See vegetarian protein sources and vegan protein sources. For oily fish ideas, see omega-3 foods.
What does high protein mean on a label?
It’s set by law. “High protein” means at least 20% of the food’s energy comes from protein. “Source of protein” needs at least 12%.
| Label says | The rule | In a 100 kcal yoghurt |
|---|---|---|
| Source of protein | At least 12% of its energy from protein | At least 3 g of protein |
| High protein | At least 20% of its energy from protein | At least 5 g of protein |
Sources: UK law (Regulation 1924/2006); BNF
The maths: protein gives 4 kcal (calories) per gram. So 5 g is 20 kcal, which is 20% of 100.
So the label tells you the share of calories, not the amount. A small snack can say high protein with just 5 g.
Compare packs by grams of protein per portion instead. For bars, yoghurts and breads with added protein, see protein-fortified foods.
Do I need to eat more protein?
Most UK adults are likely getting enough. On average, men eat about 85 g a day and women about 67 g.
Source: BNF
The need is 0.75 g for each kg you weigh. Someone who weighs 80 kg needs about 60 g a day.
Athletes and older adults may need more. But the BNF says most of us don’t need protein supplements or foods with added protein.
Work out your own number in how much protein you need a day.
Training? See the protein foods for muscle guide, or cheap protein sources on a budget.
When to speak to a GP
Speak to a GP if:
- You have a kidney condition. How much protein is right depends on your kidneys and your treatment, so check with your GP or kidney team before you eat more.
- You keep losing weight without changing your diet or exercise routine.
- You’re losing weight and have other symptoms. The NHS says to see a GP as soon as possible.
- You’re pregnant, breastfeeding or trying for a baby and unsure how much fish to eat. Ask your GP or midwife.
Want to check how your kidneys are doing? See our kidney function test guide.