12 cheap high-protein foods for eating well on a budget
Protein often feels like the expensive part of a meal. But some of the cheapest foods in the supermarket are also among the best sources of protein. Prices vary a lot by country and shop, so this list focuses on foods that are usually good value per gram of protein.
The budget heroes
1. Eggs
About 6 g of protein per large egg, cheap almost everywhere, and endlessly versatile. Three eggs make a 19 g breakfast. Protein in eggs →
2. Dried lentils
Dried lentils are one of the cheapest proteins there is. A cup of cooked lentils has about 18 g of protein, plus plenty of fibre. Use them in soups, curries and salads. Protein in lentils →
3. Canned tuna
About 31 g of protein per can, shelf-stable, and no cooking needed. Buy multipacks or store brands for the best price. Protein in canned tuna →
4. Chickpeas and beans
Canned or dried, chickpeas and black beans give you about 15 g of protein per cup. Dried beans are even cheaper if you cook a big batch.
5. Chicken thighs
Usually cheaper than breast and more forgiving to cook. One thigh has about 29 g of protein. Buying a whole chicken and using every part is even better value. Protein in chicken thigh →
6. Milk
A glass of milk has about 8.5 g of protein. Use it in oats, smoothies and coffee to add protein to things you already eat.
7. Peanut butter
Two tablespoons give about 8 g of protein. It’s calorie-dense, so measure it, but a jar lasts a long time. Protein in peanut butter →
8. Oats
Oats are a cheap breakfast with more protein than most grains: about 5 g per 40 g bowl, or around 14 g when cooked in milk. Protein in oats →
9. Cottage cheese
A cup of cottage cheese has about 25 g of protein and is often cheaper than Greek yogurt per gram of protein.
10. Tofu
Store-brand tofu is often one of the cheapest proteins in the chilled aisle: about 17 g per 100 g, and half a block gives you 34 g.
11. Canned sardines
About 23 g of protein per can, plus omega-3 fats, usually for less than salmon. Protein in sardines →
12. Whey protein powder
It might seem pricey up front, but per gram of protein, a large tub of whey is often cheaper than meat. Each scoop has about 24 g of protein.
Budget tips that add up
- Buy dried, cook in batches. Lentils, beans and chickpeas are cheapest dried. Cook a big pot on Sunday.
- Choose cheaper cuts. Thighs over breasts, whole chickens over portions.
- Go for store brands. Tuna, yogurt, cottage cheese and tofu are usually just as good.
- Buy frozen. Frozen chicken, fish and edamame are often cheaper and last longer.
- Mix plant and animal protein. A chili made with half beef, half beans cuts the cost and still gives you plenty of protein.
A cheap day with about 120 g of protein
| Meal | Food | Protein |
|---|---|---|
| Breakfast | Oats cooked in milk + 2 eggs | 26 g |
| Lunch | Tuna and chickpea salad (1 can, half a cup) | 39 g |
| Snack | 1 cup cottage cheese | 25 g |
| Dinner | Lentil and chicken thigh curry (1 thigh, half a cup lentils) | 38 g |
| Total | 128 g |
Want to know how much you actually need? Try the protein calculator, or browse the full high-protein foods list.
This article is general wellness information, not medical advice. Talk to a healthcare professional before changing your diet, especially if you have a health condition, are pregnant or breastfeeding, or are under 18.