Protein is having a moment right now: There’s no shortage of people hoping to add more to their diet so they can build muscle or lose weight (thanks to the belief that protein makes you feel full for longer). If you’re looking to eat more protein, there’s a good chance your first thought is to add more meat to your diet. However, if you’re looking to save some dollars, buying a lot of meat probably isn’t the way to do it. In past years, eggs might have been a decently cheap bet, but with eggs at their highest prices ever in 2025, they’re verging on luxury food territory.
Fortunately, there are other, more affordable options out there. Arguably, the cheapest option is to go for legumes, which include beans, chickpeas, lentils, peas, and peanuts — they actually fall into the same food category. As a bonus, they’re good for the environment, requiring relatively few resources to produce. If you’re really protein-maxing, soybeans have the most protein per cup, but they’re not easy to cook with as they’re light on flavor and don’t absorb much, either. Most other beans or lentils have similar amounts of protein of around half an ounce per cup; lentils have slightly more, and butter beans have a bit less. But peanuts win the day at over an ounce per cup — and that extends to peanut butter, too (despite persistent myths about it being unhealthy), making your PB&J a protein hit.
Protein beyond beans and lentils
If you’re not feeling like beans, don’t worry: There are other options. Your next stop is probably dairy, although be warned that not all dairy products are made equal when it comes to protein content. Butter and cream have very little, while cottage cheese and certain yogurts are packed with it. Greek yogurt and skyr (an Icelandic yogurt) are considered the best sources of protein. Cheese falls somewhere in the middle; milk is only an OK source of protein. It has just a fraction of the protein that cottage cheese has. Price-wise, the cheapest Greek yogurts and cottage cheeses are close on a per-ounce basis (11 to 12 cents an ounce at Walmart) — a cup of either one will give you more protein than a cup of most beans. And unlike beans, you can use them more easily in desserts: cottage cheese chocolate mousse, anybody?
Beyond dairy and legumes, whole grains can also be good sources: Rolled oats are probably the best option, as other protein-heavy whole grains like wild rice and buckwheat can be several times more expensive.
Finally, maybe you’re considering whether it’s cheaper to just get straight-up protein powder. This is a tough call, since prices vary enormously. You can’t expect to get much below about a dollar per serving (and a lot more for better brands). A pound of lentils goes for about $2, and a cup (a bit under half that) is one serving, so the price can be competitive — but of course, you can’t cook with protein powder.