High protein foods for building muscle
Lean meat, fish, eggs, dairy, soya and beans. But about 20 g of protein is a small chicken breast or a 400 g can of beans. One label line shows which foods give the most.
On this page

What are the best high protein foods for muscle gain?
Lean meat and fish pack the most protein. Grilled chicken breast tops the UK food tables at 32 g per 100 g.
Eggs, dairy, soya, beans and lentils all count too. They just have less protein in each bite, so you eat more of them.
| Food | Protein per 100 g | Good to know |
|---|---|---|
| Chicken breast, grilled, no skin | 32.0 g | Can be low in fat without the skin. |
| Lean beef steak | 31.0 g | Red meat. See the NHS advice below. |
| Tuna, canned in brine | 24.9 g | Ready to eat from the can. |
| Salmon, grilled | 24.6 g | Oily fish. The NHS suggests 1 to 4 portions a week (up to 2 if you may get pregnant). |
| Cheddar cheese | 25.4 g | Dairy has saturated fat. Reduced-fat cheddar has 27.9 g. |
| Almonds | 21.1 g | Rich in unsaturated fats. |
| Egg, boiled | 14.1 g | 3 medium eggs give about 20 g. |
| Tofu, steamed | 8.1 g | Made from soya. |
| Red lentils, boiled | 7.6 g | Plant protein. |
| Baked beans | 5.0 g | Plant protein. |
Sources: BNF (McCance and Widdowson); BDA; NHS: meat; NHS: fish
Start with what you already like. Pick one food from the top half of the table for each main meal.
How much of each food gives 20 g of protein?
It ranges from 75 g of chicken to a whole can of beans. Dietitians at the BDA list portions that each give about 20 g of protein.
Source: BDA
Three medium eggs, a pint of semi-skimmed milk or 2 handfuls of nuts (100 g) give about the same.
Judging a food that isn’t here? Check protein per 100 g on the pack. That’s the label line from the start of this guide, and the higher it is, the less you need to eat.
Per 100 g isn’t per portion, though. Cheddar has 25.4 g, so 20 g of protein means nearly 80 g of cheese. The BNF suggests reduced fat milk, cheese and yoghurt, as dairy has saturated fat.
Is animal or plant protein better for building muscle?
Both work. A review of 16 trials found the source of protein did not change overall gains in lean mass or strength.
Under-50s did gain a little more lean mass with animal protein, about 0.4 kg on average.
Soya holds its own. 9 studies tested 266 people who did strength training. Soya protein supplements gave similar gains in strength and muscle to whey, a milk protein supplement.
Animal foods carry every building block your body needs. Most plant foods are more like jigsaw pieces.
Eat a few different ones across the day. If you eat enough food overall, they give you enough of the ones your body can’t make itself.
Vegan or vegetarian? Mix beans, lentils, tofu and nuts. See plant protein for strength training and vegan protein sources.
Are there foods that build muscle on their own?
No. Training builds the muscle and food supplies what it’s made from. The BDA says muscle gain needs strength training, enough food and about 1.6 to 1.7 g of protein for each kg you weigh, a day.
A review of 49 trials found training itself was a much stronger driver of muscle gain than extra protein. Extra protein added about 0.3 kg of lean mass on top.
The NHS says to work all the major muscles on at least 2 days a week. Keep going until you need a short rest before you repeat.
Work out your grams in how much protein to build muscle. Then add weight over time with our progressive overload guide.
How do I build a day of high protein meals?
Spread it out. The BDA says to share your protein evenly through the day. Sports nutrition experts at the ISSN suggest 20 to 40 g at a time, every 3 to 4 hours.
Your high protein day for muscle
- Have 20 to 40 g of protein at each meal, every 3 to 4 hours.
- Start the day with 3 eggs or half a 450 g pot of Greek yoghurt.
- Add a small chicken breast, a fish fillet or a small can of tuna to lunch.
- Eat at least 2 portions of fish a week, and make 1 of them oily, like salmon.
- Eat more than 90 g (cooked weight) of red or processed meat a day? Cut down to 70 g.
- Choose chicken without the skin, and reduced fat milk, cheese and yoghurt.
Pregnant, breastfeeding or cooking for a child? The NHS says fish advice may be different for you.
For meal ideas, see high protein breakfasts, high protein lunches and oily fish and omega-3 foods.
When to speak to a GP
Speak to a GP if:
- You have a kidney condition. People with kidney failure do better on less protein, so ask 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 or breastfeeding and unsure which fish to eat. Ask your GP or midwife.
Want to know how your kidneys are doing? See our kidney function test guide.