Blog

12 cheap high-protein foods for eating well on a budget

5 min read · Published

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

  1. Buy dried, cook in batches. Lentils, beans and chickpeas are cheapest dried. Cook a big pot on Sunday.
  2. Choose cheaper cuts. Thighs over breasts, whole chickens over portions.
  3. Go for store brands. Tuna, yogurt, cottage cheese and tofu are usually just as good.
  4. Buy frozen. Frozen chicken, fish and edamame are often cheaper and last longer.
  5. 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

MealFoodProtein
BreakfastOats cooked in milk + 2 eggs26 g
LunchTuna and chickpea salad (1 can, half a cup)39 g
Snack1 cup cottage cheese25 g
DinnerLentil and chicken thigh curry (1 thigh, half a cup lentils)38 g
Total128 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.