Protein is usually the most expensive part of any meal. Knowing which proteins give you the most grams per dollar lets you build meals that are both cheap and nutritious.

The Rankings

We calculated cost per gram of protein using national average prices and USDA nutrition data:

  1. Dry lentils - $0.007/g protein. A pound of lentils has about 115g of protein for $1.69. Try our lentil soup.
  2. Dry black beans - $0.008/g protein. Similar to lentils but with a different flavor profile. Try beans and rice.
  3. Eggs - $0.009/g protein. A dozen eggs have about 72g of protein for $3.49. Try egg fried rice.
  4. Chicken thighs - $0.012/g protein. The budget king of meat proteins at $1.99/lb. Try one-pot chicken rice.
  5. Peanut butter - $0.013/g protein. 56g of protein per jar at $2.99. Try peanut noodles.
  6. Tofu - $0.014/g protein. 40g of protein per block at $2.29. Great for vegetable stir fry.
  7. Canned tuna - $0.015/g protein. About 21g of protein per can. Try tuna pasta bake.
  8. Ground turkey - $0.017/g protein. Leaner than beef at a lower price. Try ground turkey tacos.
  9. Whole milk - $0.018/g protein. 128g of protein per gallon at $3.99.
  10. Oats - $0.019/g protein. Often overlooked as a protein source. Try overnight oats.

The Takeaway

Plant proteins (lentils, beans, peanut butter) consistently beat meat on a cost-per-gram basis. Chicken thighs are the cheapest animal protein. Combining plant and animal proteins in meals (like rice and beans plus a small amount of chicken) maximizes protein while minimizing cost.