Protein has a reputation as the pricey macronutrient, the reason a healthy shop feels like a luxury. That reputation comes almost entirely from lean chicken breast, fresh fish fillets, and branded protein bars. Step past those and the picture flips completely. The cheapest sources of protein on the shelf are some of the cheapest foods full stop: dried lentils, eggs, tinned fish, milk, oats, and frozen soya beans. This is a guide to buying protein by the gram instead of by the label, so you can comfortably hit a proper daily target on a tight budget.
The short version
- The amount of protein that helps you build and keep muscle is around 1.6 grams per kilogram of body weight, roughly 100 to 130 grams a day for most adults.
- The cheapest protein on the shelf is almost always dried lentils, beans, eggs, milk, oats, and tinned fish, not fresh meat or fillets.
- Judge foods by cost per gram of protein, not price per pack. A cheap-looking snack can be terrible value once you count the actual protein.
- A full day near your target can cost roughly the price of a coffee using these staples.
- You do not need protein powder to eat enough. It is a convenience, not a requirement.
Know the number you are aiming for
Before you save money, you need to know how much protein you are actually buying. A large 2018 review pooling 49 studies found that protein helps build and keep muscle up to around 1.6 grams per kilogram of body weight per day, after which extra protein adds little for the average person. For someone weighing 70 kilograms, that is about 112 grams a day.
That is the target this guide aims at. It sounds like a lot until you realise how much protein sits in ordinary cheap food. The trick is not eating more expensive things, it is choosing the staples that pack the most protein per penny.
If you are sedentary and not trying to change your body, somewhere between 0.8 and 1.2 grams per kilogram is a comfortable zone. The cheap foods below still cover it easily, you just need less of them.
Price protein by the gram
The single most useful habit for cheap protein is to stop reading the price on the front and start working out the cost per gram of protein. Divide the pack price by the total grams of protein in the pack. A snack that looks cheap can be dreadful value, and a humble bag of dried lentils can be the best deal in the shop. The numbers below are approximate United Kingdom supermarket prices and will drift, but the order is remarkably stable wherever you shop.
| Food | Protein per typical portion | Rough value |
|---|---|---|
| Dried lentils or split peas | about 18 g per cooked cup | Excellent, one of the cheapest per gram |
| Eggs | about 12 g per two large eggs | Excellent |
| Milk (dairy or fortified soya) | about 8 g per 250 ml | Excellent |
| Tinned fish (sardines, mackerel) | about 25 g per tin | Very good |
| Tinned beans and chickpeas | about 15 g per drained tin | Very good |
| Frozen soya beans (edamame) | about 11 g per 100 g | Very good |
| Own-brand oats | about 11 g per 100 g dry | Very good, plus fibre |
| Chicken thighs (cheaper than breast) | about 26 g per 100 g cooked | Good |
| Whey protein powder | about 24 g per scoop | Good, but a convenience buy |
| Protein bars | about 20 g per bar | Usually poor value per gram |
Branded bars, ready-made shakes, and lean fresh fillets are where protein gets expensive. They are fine as occasional convenience, but building your whole intake on them is the fast route to a big bill. The cheapest protein is nearly always the plainest food in the shop.
The cheap protein staples worth stocking
Dried and tinned pulses
Dried lentils, split peas, and beans are the outright value champions. Bought dry they cost very little per serving, keep for months, and deliver protein and a big dose of fibre in the same spoonful. Tinned versions cost a bit more but need no soaking and no planning, which makes them the easiest win for anyone short on time. Keep a few tins of chickpeas, kidney beans, and black beans in the cupboard as a default.
Eggs and dairy
Eggs are cheap, complete protein you can cook in five minutes. Milk, plain yoghurt, and cheaper cheeses stretch protein across breakfast and snacks without effort. If you avoid dairy, fortified soya milk matches cow's milk closely on protein, unlike most other plant milks, so check the label and pick soya where protein matters.
Tinned fish
Tinned sardines, mackerel, and pilchards are one of the best-kept secrets in budget nutrition: cheap, shelf-stable, high in protein, and rich in omega-3 fats. Tinned tuna is leaner and also good value. A tin on toast or stirred through pasta is a complete, cheap meal in minutes.
Soya, oats, and cheaper meat cuts
Frozen edamame, firm tofu, and textured soya mince are dense, complete plant proteins that cost far less than meat per gram and freeze or store well. Oats quietly add protein and fibre to breakfast. If you eat meat, the cheaper cuts, chicken thighs and drumsticks, whole chickens, and mince, carry as much protein as the pricey breast for a fraction of the price.
A full protein day for about the price of a coffee
Here is what a genuinely cheap, high-protein day looks like using only the staples above. It lands near 110 grams of protein, comfortably in the muscle-supporting range for many adults, and the ingredients cost roughly what you would pay for a single takeaway coffee.
- Breakfast: oats with milk and yoghurt. Porridge made with soya or dairy milk, topped with a spoon of plain yoghurt. Around 20 grams of protein and plenty of fibre to start the day full.
- Lunch: tinned fish on toast, or a lentil bowl. A tin of sardines or mackerel on wholemeal toast, or leftover lentils with rice. Around 25 to 30 grams.
- Snack: two boiled eggs, or a glass of milk. Cheap, portable, and about 12 grams either way.
- Dinner: bean and vegetable chilli or curry. A tin of beans plus lentils, tomatoes, and frozen veg over rice. Around 30 to 40 grams, and it makes enough for tomorrow's lunch too.
The cheapest protein day is usually a batch-cooked one. A big pot of lentil or bean stew costs pennies per serving and removes the temptation to buy an expensive convenience meal when you are tired. Make double, portion it, and your protein for the next two days is already sorted.
Cheap protein is naturally plant-heavy
One honest fact worth naming: the cheapest protein per gram is mostly plant based, because pulses, oats, and soya cost far less than animal foods. That is good news for your wallet whether or not you eat meat. Plant proteins are a little less dense and lower in the amino acid leucine, so if you build your day around them, eat slightly larger portions, roughly 10 to 20 percent more overall, and mix a few sources across the day.
You do not need to fuss over combining proteins at every meal. Soya foods like tofu, tempeh, and edamame are complete proteins on their own, and eating a variety of beans, lentils, grains, and nuts across a normal day covers all the amino acids you need. Cheap and plant based is not a compromise here, it is simply the most efficient way to buy protein.
Questions people ask
What is the single cheapest source of protein?
Do I need protein powder if I am on a budget?
Is cheap protein worse for building muscle?
How can vegans eat enough protein cheaply?
References
- Morton RW, et al. British Journal of Sports Medicine. A systematic review, meta-analysis and meta-regression of the effect of protein supplementation on resistance training-induced gains in muscle mass and strength in healthy adults. 2018. doi.org/10.1136/bjsports-2017-097608
- Jager R, et al. Journal of the International Society of Sports Nutrition. International Society of Sports Nutrition Position Stand: Protein and Exercise. 2017. doi.org/10.1186/s12970-017-0177-8
- Reynolds A, et al. The Lancet. Carbohydrate quality and human health: a series of systematic reviews and meta-analyses. 2019. doi.org/10.1016/S0140-6736(18)31809-9
Last reviewed 18 July 2026. We check health-condition articles against current guidelines and update the date above when we do.
KF.Social Editorial