Store Cupboard Protein: The Tins, Jars and Packets Worth Buying in UK Supermarkets
A UK guide to shelf-stable protein from Tesco, Sainsbury's, Aldi, Lidl and M&S. What each tin and packet actually delivers per 100 g, which ones are protein and which are mostly fat, and how to log them without getting the drained weight wrong.
TL;DR
- This one is for UK shoppers: Tesco, Sainsbury’s, Aldi, Lidl and M&S. US readers want the US supermarket high-protein shopping list instead.
- Tinned tuna, tinned salmon, red lentils and dried soya chunks are the four cupboard items that give you a lot of protein for very few calories and very little money.
- Tinned mackerel, sardines, corned beef and peanut butter are useful food, but they are fat sources with protein attached. Log them that way.
- The biggest logging error with tins is weight: the number on the front is usually the total, not what you eat after draining.
- A cupboard stocked with six or seven of these means a bad week never has to become a takeaway week.
Why the cupboard matters
The chiller gets all the attention in protein shopping: chicken, Greek yoghurt, skyr. All good, all with a use-by date. The cupboard is what you eat when the fridge is empty, the week has gone sideways, and you are deciding between a tin and a delivery app.
A cupboard that can produce 30-40 g of protein in ten minutes is the cheapest consistency tool you can buy. It complements the UK freezer aisle guide: the freezer covers your main meals, the cupboard covers the gaps.
Figures below are typical ranges per 100 g as eaten (drained where relevant). Own-brand and branded versions vary, so check the label on the tin you actually bought.
The protein-first tier
These give you roughly 20 g of protein or more for every 100-150 kcal. They are the backbone.
Tinned tuna in spring water
About 24-27 g protein and 105-120 kcal per 100 g drained. A standard 145 g tin drains to roughly 100-110 g, so call it 25-28 g protein per tin. Own-brand from Aldi, Lidl or Tesco is the same fish as the branded tin for most practical purposes; our own brand vs big brand breakdown covers why.
Tuna in oil is a different food: drained, it typically lands 150-200 kcal per 100 g, and more if you do not drain it properly. Spring water or brine for tracking; oil if you want the calories.
Tinned salmon
Pink salmon runs around 20-23 g protein and 130-155 kcal per 100 g. Red (sockeye) is fattier and pricier. The soft bones are edible and add calcium, so there is no need to pick them out.
Red lentils, dried
Around 23-25 g protein and 320-350 kcal per 100 g dry. They cook in 15 minutes without soaking, which is why they beat other pulses for the cupboard. The protein per calorie is lower than tuna, but you get 10-11 g fibre per 100 g dry with it, and a 500 g bag costs less than a single tin of salmon in most chains.
Dried soya chunks (TVP)
The one most UK shoppers walk past. Roughly 48-52 g protein and 330-350 kcal per 100 g dry. Look in the world foods aisle at the bigger Tesco and Sainsbury’s stores, or in health food shops. Rehydrate in hot stock for ten minutes, squeeze, and use like mince in chilli or bolognese. 50 g dry gives you around 25 g protein.
Corned beef, with a caveat
Typically 24-26 g protein per 100 g, but 200-250 kcal. That puts it on the border. It works as protein if you treat a 340 g tin as several portions, not one sandwich.
The fat-with-protein tier
Not bad food. Just logged honestly, these are fat sources first.
Mackerel and sardines
Mackerel fillets in tomato sauce sit around 14-17 g protein and 190-230 kcal per 100 g. Sardines are a little leaner, around 17-21 g protein and 160-210 kcal. Both are excellent sources of omega-3, which is a perfectly good reason to eat them. They are just not the tin to reach for when you are 40 g short on protein and 200 kcal from your limit.
Peanut butter
About 24-27 g protein per 100 g, and 590-630 kcal. A tablespoon is roughly 15-20 g, which means about 4 g protein and 100 kcal. It is a fat. Powdered peanut butter, sold next to the protein powders in larger stores, is the version with the fat pressed out: around 45-50 g protein per 100 g.
Canned meat products
Spam-style luncheon meat is around 12-15 g protein with considerably more fat than that. Hot dogs in brine are similar. Fine occasionally, not a protein strategy.
Track your macros for free
Join hundreds using Chowdown's AI to hit their nutrition goals
Try ChowdownThe supporting cast
These do not carry a meal on their own but push the total up.
- Baked beans: around 4.5-5 g protein and 75-85 kcal per 100 g, so a 415 g tin gives roughly 19-20 g. Reduced sugar versions save about 10-15 kcal per 100 g.
- Chickpeas, kidney beans, mixed beans: 6-8 g protein and 100-125 kcal per 100 g drained.
- Skimmed milk powder: around 35 g protein per 100 g. Stir a tablespoon or two into porridge or soup.
- Whey protein: 70-80 g per 100 g depending on type. Our protein powder guide covers which one.
- UHT milk: same macros as fresh, sits in the cupboard for months.
- Dried pasta and oats: 11-13 g protein per 100 g dry. Not protein foods, but not zero either, and worth logging properly.
The drained weight problem
This is where cupboard tracking goes wrong. A tin of chickpeas says 400 g on the front. The drained weight is usually about 240 g, and is printed in smaller type on the side or back. Log 400 g and you overstate your chickpeas by around two thirds.
The rules:
- Fish in water or brine: log the drained weight.
- Fish in sauce or oil: log the whole tin unless you genuinely pour the sauce away, because you are eating it.
- Pulses: log the drained weight, and use the per-100 g drained figure, not the dry one.
- Dried lentils and soya chunks: log the dry weight against the dry figure. Cooked weight depends on how much water they absorbed, which varies batch to batch. The same logic is covered in more detail in raw vs cooked weight tracking.
Barcode scanning handles most of this for you, since the label data comes through with the product. Check which weight the entry assumes before you accept it.
A cupboard that covers a bad week
Stock this and you can make five different 30 g+ protein meals without going to the shop:
- 2 x tuna in spring water
- 1 x tinned pink salmon
- 500 g red lentils
- 200 g dried soya chunks
- 2 x baked beans
- 2 x chickpeas or mixed beans
- Skimmed milk powder or a tub of whey
- Pasta, rice, oats and a jar of passata
Five meals from that list: tuna pasta with passata; salmon and chickpea fishcakes; red lentil dal with a scoop of milk powder stirred in; soya chunk chilli with kidney beans; beans on toast with a tin of tuna on the side. None is glamorous. All of them beat a 1,400 kcal takeaway on a Thursday when you have stopped caring.
Log them in Chowdown: scan the barcode, set the drained weight, done. Free, no premium tier, no trial to cancel.
Ready to start tracking?
Join hundreds tracking their macros with AI. Free forever. No subscriptions, no ads.
Get Started. It's Free ForeverMore from the blog
How to Track Cooking Oil, Butter and Sauces (the 300 Calories Most People Miss)
Oil, butter and sauces are the most under-logged calories in any food diary. Here is how to measure them, how much the food actually absorbs, and when to stop worrying.
The Best High-Protein Buys at Trader Joe's, Ranked by Cost per Gram (US Guide)
A US guide to the Trader Joe's protein aisle. Which staples are worth it on cost per gram of protein, which convenience items earn their premium, and which popular freezer favourites are mostly sauce.
Photo, Barcode, Search or Scale: Which Food Logging Method Is Actually Most Accurate?
A practical comparison of the four ways to log food: AI photo scanning, barcode scanning, database search and weighing. Where each one is accurate, where each one quietly goes wrong, and which to use for which meal.