Protein is usually the most expensive part of a meal, so it’s where a tight grocery budget feels the squeeze first. But some of the cheapest foods in the store are also some of the best sources of protein.

To find them, we priced common proteins at Walmart and ALDI and worked out what each one costs for 20 grams of protein, about the amount in three eggs or a small chicken breast. Here are the cheapest protein sources, ranked from the lowest cost up.

Prices are from Walmart’s and ALDI’s websites for stores in Columbus, Ohio, checked in October 2026. Ohio’s grocery prices are within about 1% of the national average, so you may pay more or less depending on where you live, and prices change often. Here’s how we price our recipes.

Cheapest Protein Sources, Ranked

Each price is the lower of the two stores. Protein amounts are typical values from nutrition labels and USDA data, so treat the cost per 20 grams as a close estimate.

ProteinPricePer 20g protein
Dry pinto beans (2 pounds)$1.95 at ALDIAbout 21¢
Chicken drumsticks$0.89 a pound at ALDIAbout 30¢
Peanut butter (16 ounces)$1.49 at ALDIAbout 30¢
Dried lentils (1 pound)$1.92 at WalmartAbout 34¢
Milk (1 gallon)$2.43 at either storeAbout 38¢
Large eggs (1 dozen)$1.66 at ALDIAbout 46¢
Ground turkey (1 pound)$1.98 at WalmartAbout 50¢
Old-fashioned oats (42 ounces)$3.99 at ALDIAbout 54¢
Boneless chicken breasts (3 pounds)$8.99 at ALDIAbout 58¢
Shredded cheddar (16 ounces)$3.29 at ALDIAbout 58¢
Plain nonfat Greek yogurt (32 ounces)$2.97 at WalmartAbout 66¢
Cottage cheese (24 ounces)$2.85 at ALDIAbout 73¢
Extra-firm tofu (14 ounces)$1.49 at ALDIAbout 75¢
Chunk light tuna (5-ounce can)$0.95 at ALDIAbout 76¢
Canned black beans (15 ounces)$0.85 at ALDIAbout 81¢
Canned pink salmon (14.75 ounces)$3.89 at ALDIAbout 93¢
Canned chicken breast (12.5 ounces)$2.59 at ALDIAbout $1.15
Ground beef, 85% lean (1 pound)$6.29 at ALDIAbout $1.46

Two things stand out. Dried beans cost much less than canned for the same protein, and chicken drumsticks beat every other meat by a wide margin. Ground beef, the protein many families buy most, is the most expensive on the list.

Eggs, Beans or Canned Fish?

  • Beans win on price. Dried pinto beans and lentils are the cheapest protein in the store. They take time to cook, but a pot of beans covers several meals.
  • Eggs win on convenience. At under 50 cents for 20 grams of protein, eggs cook in minutes and work at any meal. See our guide to cooking eggs 8 ways.
  • Canned fish is the shelf-stable middle ground. Tuna costs a little more than eggs per gram of protein, but it needs no cooking and keeps for years, which makes it a good pantry backup.

The cheapest plan uses all three: beans for big batches, eggs for quick meals and a few cans of tuna for nights when there’s no time to cook.

The Best Value for Active People

If you work out or have a physical job and want plenty of protein, focus on the options that are high in protein for their calories. On this list, that’s chicken breasts and drumsticks, eggs, ground turkey, Greek yogurt, cottage cheese, tuna and canned salmon.

Beans, lentils and peanut butter are still great value, but they come with more carbohydrates or fat for the same protein. Peanut butter in particular is very high in calories, which is useful when you need energy and less so when you’re trying not to overeat.

Cheap High-Protein Meals

For more ideas, see our 50 cheap meals under $2 a serving.

How to Get More Protein for Less

  • Cook dried beans in big batches. Simmer a 2-pound bag, then freeze it in 1½-cup portions, the same as one can.
  • Stretch meat with beans or lentils. Swap half the ground beef in tacos, chili or sloppy joes for cooked lentils or beans.
  • Buy chicken on the bone. Drumsticks and bone-in thighs cost much less per pound than boneless breasts.
  • Choose plain Greek yogurt and cottage cheese. The big plain tubs cost less per ounce than flavored cups and have more protein.
  • Keep eggs, peanut butter and canned tuna on hand. They turn a carb-heavy pantry meal into a filling one.

Cheap Protein Questions

What is the cheapest source of protein?

Dried beans, especially pinto beans, followed by chicken drumsticks, peanut butter and dried lentils. All four cost about 20 to 35 cents for 20 grams of protein at Walmart and ALDI prices.

Are eggs or beans cheaper for protein?

Dried beans are cheaper, at about 21 cents for 20 grams of protein compared with about 46 cents for eggs. Canned beans cost more than eggs for the same protein.

Is canned tuna a cheap protein?

It’s a good value, at about 76 cents for 20 grams of protein, and it keeps for years. Eggs, dried beans and drumsticks are cheaper but need cooking.

How much protein do I need?

It depends on your age, size and activity level. A doctor or registered dietitian can give you a number that fits you. The foods on this list make it easier to reach it without spending much.

This post shares general budgeting information, not personal financial advice.

,


Leave a Reply

Your email address will not be published. Required fields are marked *