Protein price table

What a gram of protein costs at UK supermarkets, cheapest first. Prices in GBP, updated 2026-09-22. Download the CSV or add an item on GitHub.

54 / 54
Red Split Lentils (Laila)Amazon£3.002000 g26 /100g£0.0058£0.582026-09-22
Scottish Porridge OatsAldi£1.091000 g12.3 /100g£0.0089£0.892026-09-22
Chickpeas (Laila)Amazon£3.752000 g21 /100g£0.0089£0.892026-09-22
Green Lentils (Laila)Amazon£5.532000 g24 /100g£0.0115£1.152026-09-22
Frozen Everyday Essentials Chicken Breast FilletAldi£4.251000 g31.3 /100g0.1£0.0136£1.362026-09-22
Everyday Essentials Unsmoked Back BaconAldi£4.491000 g26.7 /100g1£0.0168£1.682026-09-22
Princes Sardines sunflower oilAldi£0.47120 g23 /100g0.1£0.0170£1.702026-09-22
Can of Tuna Chunks in BrineAldi£2.59580 g24.9 /100g0£0.0179£1.792026-09-22
Everyday Essentials Unsmoked Gammon JointAldi£4.291107 g21.2 /100g1£0.0183£1.832026-09-22
Sardines in Tomato SauceAldi£0.47120 g20.5 /100g£0.0191£1.912026-09-22
White Fish FilletsAldi£4.491000 g22.7 /100g0.1£0.0198£1.982026-09-22
Everyday Essentials - Back / Streaky BaconAldi£1.45275 g26.3 /100g£0.0200£2.002026-09-22
White Fish FilletsAldi£2.49520 g22.7 /100g£0.0211£2.112026-09-22
Ashfields British Pork Shoulder JointAldi£5.791528 g18 /100g1£0.0211£2.112026-09-22
Premium Baked Beans (Bramwells)Aldi£0.41410 g4.7 /100g£0.0213£2.132026-09-22
Everyday Essentials Cottage CheeseAldi£0.79300 g12.3 /100g£0.0214£2.142026-09-22
Emporium - British Mature 50% lighterAldi£2.69400 g29.9 /100g£0.0225£2.252026-09-22
Cottage CheeseAldi£1.15300 g17 /100g£0.0225£2.252026-09-22
Large Gammon JointAldi£6.691300 g21.2 /100g0£0.0243£2.432026-09-22
The Fishmonger Tuna Chunks in Brine - 4 packAldi£2.494 piece24.4 /piece0.1£0.0255£2.552026-09-22
Long life Skimmed MilkAldi£0.891000 ml3.4 /100g£0.0262£2.622026-09-22
QuarkAldi£0.85250 g12.3 /100g£0.0276£2.762026-09-22
Pink SalmonAldi£1.39213 g23.6 /100g£0.0277£2.772026-09-22
British Chicken Breast Fillet 2kgAldi£11.992000 g21.5 /100g£0.0279£2.792026-09-22
Aldi emporium British mature cheddarAldi£2.79400 g25 /100g2£0.0279£2.792026-09-22
10% Beef MinceAldi£3.19500 g21.9 /100g0£0.0291£2.912026-09-22
25% Beef MinceAldi£2.59500 g17.7 /100g£0.0293£2.932026-09-22
British Range 15 Mixed Size EggsAldi£2.6915 piece6 /piece0.6£0.0299£2.992026-09-22
British Chicken Thigh FilletsAldi£5.19900 g18.9 /100g0£0.0305£3.052026-09-22
30 eggsLocal Shop£6.001800 g10.8 /100g£0.0309£3.092026-09-22
TofuAldi£0.89200 g14.1 /100g£0.0316£3.162026-09-22
2% Fat Turkey MinceAldi£3.99500 g25 /100g0£0.0319£3.192026-09-22
Ashfields Chicken Breast FilletsAldi£4.49650 g21.5 /100g0.1£0.0321£3.212026-09-22
Ashfields British Pork Loint JointAldi£9.431628 g18 /100g0.1£0.0322£3.222026-09-22
Optimum Nutrition Gold Standard Whey - Banana CreamAmazon£58.002280 g79 /100g5£0.0322£3.222026-09-22
Can Tuna SteakAldi£0.99110 g27.7 /100g£0.0325£3.252026-09-22
Oakhurst - Turkey RashersAldi£1.59150 g32.1 /100g£0.0330£3.302026-09-22
Optimum Nutrition Gold Standard Whey ProteinAmazon£23.70900 g79 /100g£0.0333£3.332026-09-22
Protein Chicken Mini FilletsAldi£2.99340 g25.9 /100g£0.0340£3.402026-09-22
Ashfields Beef Mince 20% fatAldi£3.25500 g18.6 /100g0.2£0.0349£3.492026-09-22
Basa FilletsAldi£2.39380 g17.9 /100g£0.0351£3.512026-09-22
FOUR SEASONS Broccoli FloretsAldi£1.191000 g3.3 /100g2.6£0.0361£3.612026-09-22
3% Fat Beef MinceAldi£7.791000 g21.5 /100g£0.0362£3.622026-09-22
0% Fat Authentic Greek YogurtAldi£1.89500 g10.4 /100g£0.0363£3.632026-09-22
Brooklea Authentic Greek Yogurt 0% FatAldi£3.691000 g9.8 /100g3.4£0.0377£3.772026-09-22
AlmondsAldi£1.69200 g21.2 /100g£0.0399£3.992026-09-22
3% Beef MeatballsAldi£3.19340 g22 /100g£0.0426£4.262026-09-22
Tiba - TempehAldi£1.99200 g22 /100g£0.0452£4.522026-09-22
Ashfields Lean Diced BeefAldi£7.59700 g22.5 /100g0.1£0.0482£4.822026-09-22
Frozen Salmon FilletsAldi£6.99480 g28.7 /100g£0.0507£5.072026-09-22
Anchovy Fillets in OliveAldi£0.6550 g25.2 /100g£0.0516£5.162026-09-22
Serrano HamAldi£1.89100 g33.2 /100g£0.0569£5.692026-09-22
Ashfield Beef BrisketAldi£13.551068 g18 /100g0.5£0.0705£7.052026-09-22
KefirAldi£1.99750 ml3.4 /100g£0.0780£7.802026-09-22

How the ranking works

Each row is one product in one package size, with the shelf price and the protein figure from its nutrition label. Total protein is the package size times the protein per 100 g (or per piece for eggs and multipacks). Dividing the price by that total gives the price of one gram of protein, and the table sorts by it. A food that looks cheap per kilo can still be expensive protein if little of it is protein.

Prices come from shelf labels and receipts, and each row keeps the date it entered the table, so check the date before relying on a price.