BiomaLearnFoodsNutrition factsNutrientsGuidesAnswersEvidence

Are beans cheaper than meat?

Mostly. In USDA's 2017–18 national average prices, 30 g of protein cost $0.54 to $1.18 from beans and lentils and $1.03 to $1.50 from meat (chicken thighs $1.03, chicken breast $1.05, pork chops $1.15 and ground beef $1.50). The cheapest is split peas at $0.54, the most expensive chickpeas at $1.18.

Prices: USDA Economic Research Service national average prices for 2017–18, the latest set it has published, in dollars of that time, per edible gram (bones, skin you discard and cooking losses already counted). Protein and calories: USDA FNDDS. Today's shelf prices differ, so compare foods with each other rather than with your receipt.

Cost of 30 g protein
Split peas$0.54Lentils$0.67Kidney beans$0.91Chicken thighs$1.03Chicken breast$1.05Black beans$1.06Pinto beans$1.12Pork chops$1.15Chickpeas$1.18Ground beef$1.50

US national average prices, 2017–18, per edible gram.

Price per pound, per serving and per gram of protein

Food, as eatenCost of 30 g proteinProtein per $1Price per lbOne servingCalories per 30 g protein
Split peas (cooked from dried, fat added)$0.5455 g$0.641/2 cup (3.3 oz, 92.5 g): $0.13, 7 g protein650
Lentils (cooked from dried, fat added)$0.6745 g$0.851/2 cup (3.3 oz, 92.5 g): $0.17, 8 g protein594
Kidney beans (canned, drained)$0.9133 g$1.201/2 cup (3.2 oz, 90 g): $0.24, 8 g protein466
Chicken thighs (roasted, skin not eaten)$1.0329 g$3.833 oz (85 g): $0.72, 21 g protein217
Chicken breast (roasted, skin not eaten)$1.0529 g$4.813 oz (85 g): $0.90, 26 g protein160
Black beans (canned, drained)$1.0628 g$1.421/2 cup (3.2 oz, 90 g): $0.28, 8 g protein453
Pinto beans (canned, drained)$1.1227 g$1.291/2 cup (3.2 oz, 90 g): $0.26, 7 g protein537
Pork chops (cooked, lean only)$1.1526 g$4.873 oz (85 g): $0.91, 24 g protein183
Chickpeas (canned, drained)$1.1826 g$1.461/2 cup (3.2 oz, 90 g): $0.29, 7 g protein535
Ground beef (cooked)$1.5020 g$5.813 oz (85 g): $1.09, 22 g protein306

Prices are US national averages for 2017–18 in dollars of that time. Cost of 30 g protein = price per 3.5 oz (100 g) as eaten ÷ grams of protein per 3.5 oz (100 g) × 30.

What changes the answer

More on the cost of protein

Sources

  • Prices: USDA Economic Research Service, Purchase to Plate National Average Prices for NHANES (PP-NAP), 2017/2018 prices, US dollars per 100 edible grams. https://www.ers.usda.gov/data-products/purchase-to-plate/ (dataset accessed 2026-10-12)
  • Protein and calories: USDA FoodData Central, FoodData Central survey (FNDDS) 2024-10-31, the entry with the same food code (accessed 2026-10-14)

Foods on this page

  • Black beans: ERS food code 41102080 Black beans, from canned, no added fat, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2707363
  • Chicken breast: ERS food code 24122131 Chicken breast, baked, broiled, or roasted, skin not eaten, from raw (Includes NS as to skin eaten), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2705956
  • Chicken thighs: ERS food code 24152231 Chicken thigh, baked, broiled, or roasted, skin not eaten, from raw, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706030
  • Chickpeas: ERS food code 41302080 Chickpeas, from canned, no added fat (Includes garbanzos; ceci), matched directly to store sales data · nutrients FDC ID 2707418
  • Ground beef: ERS food code 21500100 Ground beef, cooked, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2705854
  • Kidney beans: ERS food code 41106080 Kidney beans, from canned, no added fat (Includes red), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2707383
  • Lentils: ERS food code 41304990 Lentils, from dried, fat added (Includes NS as to fat; NS as to meat; frozen), priced from its recipe ingredients · nutrients FDC ID 2707424
  • Pinto beans: ERS food code 41104080 Pinto beans, from canned, no added fat (Includes calico), matched directly to store sales data · nutrients FDC ID 2707375
  • Pork chops: ERS food code 22101020 Pork chop, NS as to cooking method, lean only eaten, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2705868
  • Split peas: ERS food code 41303010 Split peas, from dried, fat added (Includes NS as to fat; NS as to meat; frozen), priced from its recipe ingredients · nutrients FDC ID 2707421

How we calculate: cost of 30 g protein = ERS price per 3.5 oz (100 g) as eaten ÷ FNDDS protein per 3.5 oz (100 g) × 30. Protein per $1 = protein per 3.5 oz (100 g) ÷ price per 3.5 oz (100 g). Serving weights come from USDA FNDDS or are plain weights (3 oz cooked meat or fish). Protein powder is left out on purpose: ERS gave every protein powder the same price, carried over from an instant breakfast mix, so a cost per gram for it would not be a real measurement. How we verify.