We understand the struggle of trying to hit your macro goals whilst on a student budget, with millionaire influencer gym bros suggesting their £100 weekly grocery list whilst you’re still struggling to pay your rent with your SFE money.
If you’re a student trying to hit your protein target without selling a kidney, this is the list. These foods are basically the cheat codes: high protein, low cost, and available everywhere.
Big note before we start: “cheapest protein per gram” changes weekly because of promos/loyalty pricing, so this list is based on foods that are consistently among the best value in UK supermarkets. Where I use numbers, I’m using verifiable Tesco examples as of March 2026.

Simplified Table:
| Food | Average price per 100g / 100ml | Protein per 100g / 100ml |
|---|---|---|
| Dried red lentils (Natco Red Lentils 500g) | £0.30 / 100g ( £1.50 per 500g ) | 26g / 100g (uncooked) |
| Other lentils (Tesco Lentilles Vertes 500g) | £0.42 / 100g ( £2.10 per 500g ) | 13.4g / 100g (as cooked per label) |
| Split peas (Tesco Yellow Split Peas 500g) | £0.26 / 100g ( £1.30 per 500g ) | 10.7g / 100g (as cooked per label) |
| Dried beans (East End Red Kidney Beans 500g) | £0.38 / 100g ( £1.90 per 500g ) | 22g / 100g (uncooked) |
| Milk (Tesco Filtered Semi Skimmed Milk 2L) | £0.105 / 100ml ( £2.10 per 2L ) | 3.3g / 100ml |
| Tinned tuna (Tesco Tuna Chunks in Spring Water 145g) | £0.637 / 100g drained (shown as £6.37/kg DR.WT) | 24.9g / 100g drained |
| Eggs (Tesco Free Range Eggs Medium 6) | ~£0.58 / 100g (£1.80 per 6; 52g each = 312g total) | 12.6g / 100g |
| Frozen chicken (Tesco Boneless Chicken Thighs 500g) | £0.71 / 100g ( £3.55 per 500g ) | 26.0g / 100g |
| Turkey mince (Tesco Turkey Breast Mince 2% Fat 500g) | £0.95 / 100g ( £4.75 per 500g ) | 25.0g / 100g |
| Low-fat beef mince (Tesco Lean Beef Steak Mince 5% 500g) | £1.04 / 100g ( £5.19 per 500g ) | 21.9g / 100g |
| Protein powder (Optimum Nutrition Whey 450g) | £4.89 / 100g ( £22 per 450g ) | 80g / 100g |
| Frozen white fish (Tesco Cod Fillets 360g) | £1.53 / 100g ( £5.50 per 360g ) | 20.8g / 100g |
1) Dried red lentils
The undefeated champion. Protein-dense, dirt cheap, and works in curry, soup, pasta, etc.
Example nutrition: 26g protein per 100g (uncooked).
2) Other dried lentils (green/brown)
Same thing basically, slightly different texture. Still one of the best £/protein buys.
3) Dried beans (kidney/haricot/black beans)
High protein, high fibre, extremely healthy. If you’re bulking, beans are basically free calories with protein included.
4) Split peas
Split peas are criminally ignored because they sound like something your nan would cook. That’s why they’re still cheap.
5) Milk (especially big bottles)
Super reliable.
Protein: around 3.4–3.5g per 100ml for cow’s milk.
6) Tinned tuna (especially multipacks)
One of the best animal proteins for £/g. Also the most “student kitchen” option.
Tesco confirms drained weight and nutrition for tuna, which matters for real comparisons. Be careful when eating tuna, though, as they are high in mercury; I personally try to only eat 1 can a week but you can supposedly eat 2-3 a week (I’m just extra cautious).
7) Tinned mackerel/sardines (when on deal)
These can be amazing value, but prices swing more. Still worth checking weekly promos. These are also my personal favourite as they have SUPER good micros and are packed with omega 3s.
8) Eggs (bigger packs = better value)
Eggs can be very cost-efficient, but price varies a lot based on welfare tier. If you’re comparing, compare £ per 100g or £ per egg and keep it consistent.
9) Frozen chicken (thighs/drumsticks/fillets depending on deals)
Frozen tends to win because you’re paying less for convenience/packaging. If you’re budget bulking, frozen chicken is basically a subscription.
10) Turkey mince (own-brand)
Often cheaper than lean beef, and super macro-friendly.
Example: Tesco turkey breast mince lists 25.4g protein per 100g.
11) Chicken mince / turkey burgers (own-brand)
These are often cheaper than chicken breast, and they’re easy to make taste good with literally any seasoning.
12) Low-fat beef mince (usually pricier, but still decent)
Beef is normally more expensive per gram protein than poultry/pulses, but it’s still a staple for a reason (generally healthier than store bought chicken).

How to calculate it yourself whilst shopping
To compare properly, calculate this:
Cost per gram of protein (£/g) = price (£) ÷ total protein in pack (g)
For foods with “drained weight” (tuna, chickpeas), use the drained weight, not the tin weight.
If you’re vegan/vegetarian
Your cheapest consistent options are usually:
- lentils
- beans
- split peas
(and tofu can be good value depending on brand, but it varies more week-to-week).
Why this list should be a staple for your weekly shop
Because these foods make it easy to hit:
- 100–140g protein/day
- without needing 12 different “high-protein” branded snacks that cost £3 each for no reason.
If you liked this blog post, have an inquiry, or would like to give us suggestions of what you would like to see next, let us know by contacting twogirlsonekitchenblog@gmail.com.

Leave a comment