Cheap bulking foods: the most calories and protein per dollar
Per dollar, the most calories in USDA's 2017–18 national average prices come from white rice, split peas, peanut butter, peanuts and lentils: $1 bought 883 to 1439 calories. For calories and protein together, split peas, peanuts, lentils and peanut butter stand out, each giving at least 883 calories and 43 g of protein per $1.
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.
US national average prices, 2017–18.
Calories and protein per dollar
| # | Food, as eaten | Calories per $1 | Protein per $1 | One serving |
|---|---|---|---|---|
| 1 | White rice (cooked) | 1439 | 30 g | 1 cup (5.6 oz, 158 g): $0.14, 204 calories |
| 2 | Split peas (cooked from dried, fat added) | 1197 | 55 g | 1/2 cup (3.3 oz, 92.5 g): $0.13, 155 calories |
| 3 | Peanut butter | 1164 | 43 g | 2 tbsp (1.1 oz, 32 g): $0.16, 191 calories |
| 4 | Peanuts (roasted, salted) | 1050 | 49 g | 1 oz (28 g): $0.16, 170 calories |
| 5 | Lentils (cooked from dried, fat added) | 883 | 45 g | 1/2 cup (3.3 oz, 92.5 g): $0.17, 154 calories |
| 6 | Oats (dry, before cooking) | 875 | 30 g | 1/2 cup (1.4 oz, 40 g): $0.17, 152 calories |
| 7 | White bread | 706 | 25 g | 2 thin slices (1.7 oz, 48 g): $0.18, 128 calories |
| 8 | Whole milk | 621 | 33 g | 1 cup (8.6 oz, 244 g): $0.24, 149 calories |
| 9 | Pasta (cooked) | 612 | 22 g | 1 cup (4.9 oz, 140 g): $0.36, 220 calories |
| 10 | Milk (2%) | 543 | 36 g | 1 cup (8.6 oz, 244 g): $0.22, 122 calories |
| 11 | Whole wheat bread | 518 | 25 g | 2 thin slices (1.7 oz, 48 g): $0.24, 122 calories |
| 12 | Kidney beans (canned, drained) | 512 | 33 g | 1/2 cup (3.2 oz, 90 g): $0.24, 122 calories |
| 13 | Bananas (raw) | 511 | 4 g | 1 banana (4.4 oz, 126 g): $0.24, 122 calories |
| 14 | Hot dogs (any meat) | 488 | 18 g | 1 hot dog (2 oz, 57 g): $0.36, 177 calories |
| 15 | Pinto beans (canned, drained) | 480 | 27 g | 1/2 cup (3.2 oz, 90 g): $0.26, 123 calories |
| 16 | Bologna (any meat) | 456 | 17 g | 2 slices (2 oz, 56 g): $0.35, 157 calories |
| 17 | Chickpeas (canned, drained) | 455 | 26 g | 1/2 cup (3.2 oz, 90 g): $0.29, 131 calories |
| 18 | Black beans (canned, drained) | 427 | 28 g | 1/2 cup (3.2 oz, 90 g): $0.28, 121 calories |
| 19 | Spam (canned luncheon meat) | 406 | 17 g | 2 oz (57 g): $0.44, 179 calories |
| 20 | Chicken liver (sauteed or fried) | 403 | 43 g | 3 oz (85 g): $0.40, 161 calories |
| 21 | TVP (textured vegetable protein) | 396 | 55 g | 1/4 cup (17 g): $0.16, 62 calories |
| 22 | Fish sticks | 374 | 15 g | 4 sticks (2.8 oz, 80 g): $0.59, 222 calories |
| 23 | Skim milk | 368 | 37 g | 1 cup (8.6 oz, 244 g): $0.23, 83 calories |
| 24 | Cheddar cheese | 364 | 21 g | 1 oz (28 g): $0.32, 116 calories |
| 25 | Sunflower seeds (shelled, salted) | 362 | 12 g | 1 oz (28 g): $0.45, 163 calories |
| 26 | Potatoes (baked, skin eaten) | 342 | 9 g | 1 small (8.1 oz, 230 g): $0.63, 214 calories |
| 27 | Almonds (raw) | 324 | 11 g | 1 oz (28 g): $0.55, 177 calories |
| 28 | Eggs (hard-boiled or poached) | 316 | 27 g | 2 eggs (3.5 oz, 100 g): $0.45, 143 calories |
| 29 | Chicken drumsticks (roasted, skin not eaten) | 314 | 49 g | 3 oz (85 g): $0.42, 131 calories |
| 30 | Soy milk (sweetened) | 313 | 20 g | 1 cup (8.6 oz, 244 g): $0.41, 129 calories |
| 31 | Ground pork (cooked) | 299 | 27 g | 3 oz (85 g): $0.85, 254 calories |
| 32 | Ricotta | 284 | 18 g | 1/2 cup (4.3 oz, 123 g): $0.64, 182 calories |
| 33 | Mozzarella (part skim, string cheese) | 278 | 22 g | 1 oz (28 g): $0.30, 84 calories |
| 34 | Canned mackerel (canned) | 263 | 39 g | 3 oz (85 g): $0.50, 133 calories |
| 35 | Cottage cheese (4% milkfat) | 235 | 26 g | 1/2 cup (3.7 oz, 105 g): $0.46, 108 calories |
| 36 | Soybeans (cooked) | 235 | 18 g | 1/2 cup (3.3 oz, 92.5 g): $0.86, 202 calories |
| 37 | Whole turkey (roasted, light and dark meat, skin eaten) | 232 | 35 g | 3 oz (85 g): $0.67, 156 calories |
| 38 | Canned chicken (canned, meat only) | 231 | 32 g | 3 oz (85 g): $0.68, 157 calories |
| 39 | Chicken thighs (roasted, skin not eaten) | 211 | 29 g | 3 oz (85 g): $0.72, 151 calories |
| 40 | Ground beef (cooked) | 204 | 20 g | 3 oz (85 g): $1.09, 222 calories |
| 41 | Edamame (cooked, shelled) | 202 | 17 g | 3 oz (85 g): $0.59, 119 calories |
| 42 | Catfish (baked, no added fat) | 193 | 22 g | 3 oz (85 g): $0.75, 145 calories |
| 43 | Pork roast (roasted) | 189 | 28 g | 3 oz (85 g): $0.81, 154 calories |
| 44 | Whole chicken (roasted, mixed parts, skin not eaten) | 169 | 28 g | 3 oz (85 g): $0.83, 140 calories |
| 45 | Pork chops (cooked, lean only) | 159 | 26 g | 3 oz (85 g): $0.91, 145 calories |
| 46 | Canned sardines (canned in oil) | 157 | 19 g | 3 oz (85 g): $1.13, 177 calories |
| 47 | Beef chuck roast (pot roast, braised) | 153 | 17 g | 3 oz (85 g): $1.39, 213 calories |
| 48 | Plain yogurt (low fat) | 153 | 13 g | 6 oz (170 g): $0.70, 107 calories |
| 49 | Chicken breast (roasted, skin not eaten) | 152 | 29 g | 3 oz (85 g): $0.90, 137 calories |
| 50 | Meatless chicken (vegetarian meat substitute) | 151 | 16 g | 3 oz (85 g): $1.26, 190 calories |
| 51 | Ground turkey (cooked) | 148 | 19 g | 3 oz (85 g): $1.21, 179 calories |
| 52 | Egg whites (liquid or separated, cooked without fat) | 131 | 27 g | 3 egg whites (3.5 oz, 99 g): $0.39, 51 calories |
| 53 | Bacon (cooked) | 125 | 10 g | 3 thin slices (15 g): $0.58, 73 calories |
| 54 | Ham (cured, cooked) | 119 | 19 g | 3 oz (85 g): $0.84, 99 calories |
| 55 | Salmon fillet (cooked) | 112 | 10 g | 3 oz (85 g): $2.08, 233 calories |
| 56 | Beef steak (cooked, any cut) | 107 | 13 g | 3 oz (85 g): $1.81, 195 calories |
| 57 | Tilapia (baked, no added fat) | 107 | 19 g | 3 oz (85 g): $1.13, 121 calories |
| 58 | Tofu | 102 | 12 g | 3 oz (85 g): $0.51, 52 calories |
| 59 | Greek yogurt (plain, nonfat) | 97 | 17 g | 5.3 oz (150 g): $0.91, 88 calories |
| 60 | Beef jerky | 90 | 7 g | 1 oz (28 g): $1.29, 116 calories |
| 61 | Canned salmon (canned) | 82 | 15 g | 3 oz (85 g): $1.41, 116 calories |
| 62 | Deli turkey (sliced lunch meat) | 81 | 11 g | 2 oz (57 g): $0.74, 60 calories |
| 63 | Turkey breast (roasted, skin not eaten) | 80 | 17 g | 3 oz (85 g): $1.48, 118 calories |
| 64 | Canned tuna (canned, drained) | 68 | 15 g | 3 oz (85 g): $1.07, 72 calories |
| 65 | Tuna steak (fresh, baked or broiled) | 64 | 11 g | 3 oz (85 g): $2.32, 150 calories |
| 66 | Cod (steamed or poached) | 43 | 10 g | 3 oz (85 g): $1.71, 74 calories |
| 67 | Shrimp (steamed or boiled) | 27 | 5 g | 3 oz (85 g): $2.80, 76 calories |
Prices are US national averages for 2017–18 in dollars of that time. Calories per $1 = calories per 3.5 oz (100 g) ÷ price per 3.5 oz (100 g).
What changes the answer
- Protein for the same money. Split peas, peanuts, lentils and peanut butter are cheap protein but bring 594 to 808 calories with every 30 g of protein. Among the cheapest, TVP, chicken drumsticks, canned mackerel and whole turkey deliver the same 30 g of protein with 192 to 215 calories.
- The year. These are 2017–18 prices per gram of food as eaten. Store brands, sales and region move any single price.
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
- Almonds: ERS food code 42101000 Almonds, unroasted (Includes raw), matched directly to store sales data · nutrients FDC ID 2707486
- Bacon: ERS food code 22600100 Bacon, NS as to type of meat, cooked, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2705885
- Bananas: ERS food code 63107010 Banana, raw, matched directly to store sales data · nutrients FDC ID 2709224
- Beef chuck roast: ERS food code 21407000 Beef, pot roast, braised or boiled, NS as to fat eaten (Includes chuck roast; arm roast; blade roast; shoulder roast), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2705848
- Beef jerky: ERS food code 21602100 Beef jerky (Includes Slim Jim; Big Jerk; Super Jerk; Giant Jerk), matched directly to store sales data · nutrients FDC ID 2705860
- Beef steak: ERS food code 21101000 Beef steak, NS as to cooking method, NS as to fat eaten, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2705824
- 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
- Bologna: ERS food code 25220410 Bologna, NFS (Includes made from any kind of meat), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706176
- Canned chicken: ERS food code 24198570 Chicken, canned, meat only, matched directly to store sales data · nutrients FDC ID 2706086
- Canned mackerel: ERS food code 26121180 Mackerel, canned, matched directly to store sales data · nutrients FDC ID 2706268
- Canned salmon: ERS food code 26137180 Salmon, canned, matched directly to store sales data · nutrients FDC ID 2706291
- Canned sardines: ERS food code 26139180 Sardines, canned in oil, matched directly to store sales data · nutrients FDC ID 2706293
- Canned tuna: ERS food code 26155110 Tuna, canned, NS as to oil or water pack (Includes tuna, NFS; low sodium), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706311
- Catfish: ERS food code 26107123 Catfish, baked or broiled, no added fat (Includes sauteed; fried with no coating; bullhead), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706236
- Cheddar cheese: ERS food code 14104100 Cheese, Cheddar (Includes Coon; sharp cheese; Tillamook; Hoop; Pioneer; New York; Wisconsin; Longhorn), matched directly to store sales data · nutrients FDC ID 2705709
- 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 drumsticks: ERS food code 24142301 Chicken drumstick, baked, broiled, or roasted, skin not eaten, from raw, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706003
- Chicken liver: ERS food code 25110450 Chicken liver, fried (Includes turkey; other poultry liver; sauteed; NS as to cooking method), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706154
- 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
- Cod: ERS food code 26109160 Cod, steamed or poached, priced from its recipe ingredients · nutrients FDC ID 2706245
- Cottage cheese: ERS food code 14201010 Cheese, cottage, creamed, large or small curd (Includes regular (4% fat) cottage cheese), matched directly to store sales data · nutrients FDC ID 2705748
- Deli turkey: ERS food code 25230780 Turkey, prepackaged or deli, luncheon meat (Includes breast, loaf, turkey lunch meat, NFS; all fat levels - regular, reduced fat, low fat, or fat free; lean or extra lean), matched directly to store sales data · nutrients FDC ID 2706215
- Edamame: ERS food code 41420020 Edamame, cooked (Includes with or without fat), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2707436
- Egg whites: ERS food code 31108010 Egg, white only, raw, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2707168
- Eggs: ERS food code 31103010 Egg, whole, boiled or poached (Includes soft boiled or hard boiled egg; egg, cooked, no fat or milk added), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2707154
- Fish sticks: ERS food code 26100270 Fish stick, patty or nugget from restaurant, home, or other place, matched directly to store sales data · nutrients FDC ID 2706231
- Greek yogurt: ERS food code 11411420 Yogurt, Greek, nonfat milk, plain (Includes 0% fat; fat free; light; light, NFS), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2705424
- Ground beef: ERS food code 21500100 Ground beef, cooked, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2705854
- Ground pork: ERS food code 22002000 Pork, ground or patty, cooked, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2705863
- Ground turkey: ERS food code 24207000 Turkey, ground, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706133
- Ham: ERS food code 22311000 Ham, smoked or cured, cooked, NS as to fat eaten (Includes country ham; cottage ham; picnic ham; ham or baked ham, NS as to fresh, smoked, or cured), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2705878
- Hot dogs: ERS food code 25210110 Frankfurter or hot dog, NFS, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706166
- 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
- Meatless chicken: ERS food code 41810600 Chicken, meatless, NFS (Includes meat substitute; vegetarian), matched directly to store sales data · nutrients FDC ID 2707468
- Milk: ERS food code 11112110 Milk, reduced fat (2%) (Includes Hi-Protein milk; fortified milk; 1.5% fat milk), matched directly to store sales data · nutrients FDC ID 2705386
- Mozzarella: ERS food code 14107030 Cheese, Mozzarella, part skim (Includes Chedarella Cheese; string cheese; cheese sticks, NS as to type of cheese; Poly-O; Stringsters; County Line; Richfood; Mootown Snackers; Sorrento; lowfat; reduced fat; made with 2% milk), matched directly to store sales data · nutrients FDC ID 2705723
- Oats: ERS food code 57602100 Oats, raw, matched directly to store sales data · nutrients FDC ID 2708489
- Pasta: ERS food code 56130000 Pasta, cooked (Includes macaroni, spaghetti, any shape of pasta; NS as to grain type; pasta, NFS), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2708357
- Peanut butter: ERS food code 42202000 Peanut butter (Includes NS as to type), matched directly to store sales data · nutrients FDC ID 2707537
- Peanuts: ERS food code 42111100 Peanuts, roasted, salted (Includes plain; lightly salted; NS as to salt; sea salt; not coated), matched directly to store sales data · nutrients FDC ID 2707515
- 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
- Plain yogurt: ERS food code 11411200 Yogurt, low fat milk, plain (Includes 1% fat; 2% fat; 99% fat free; light), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2705419
- 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
- Pork roast: ERS food code 22400100 Pork roast, NS as to cut, cooked, NS as to fat eaten, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2705882
- Potatoes: ERS food code 71508001 Potato, baked, peel eaten, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2709524
- Ricotta: ERS food code 14201500 Cheese, Ricotta, matched directly to store sales data · nutrients FDC ID 2705750
- Salmon fillet: ERS food code 26137110 Salmon, cooked, NS as to cooking method (Includes saltwater trout), priced from its recipe ingredients · nutrients FDC ID 2706285
- Shrimp: ERS food code 26319130 Shrimp, steamed or boiled (Includes prawn), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706363
- Skim milk: ERS food code 11113000 Milk, fat free (skim) (Includes nonfat milk; 0.5% or less fat), matched directly to store sales data · nutrients FDC ID 2705388
- Soy milk: ERS food code 11320000 Soy milk (Includes Edensoy; vanilla flavored; Silk; West Soy; Soymilk; NS as to type; Vitasoy), matched directly to store sales data · nutrients FDC ID 2705404
- Soybeans: ERS food code 41107010 Soybeans, cooked (Includes with or without fat; NS as to meat), matched directly to store sales data · nutrients FDC ID 2707388
- Spam: ERS food code 25230530 Ham and pork, canned luncheon meat, chopped, minced, pressed, spiced (Includes Spam; Treet), matched directly to store sales data · nutrients FDC ID 2706211
- 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
- Sunflower seeds: ERS food code 43102100 Sunflower seeds, plain, salted (Includes sea salt; lightly salted), matched directly to store sales data · nutrients FDC ID 2707583
- Tilapia: ERS food code 26158013 Tilapia, baked or broiled, no added fat (Includes sauteed; fried with no coating; mojarra), priced from its recipe ingredients · nutrients FDC ID 2706320
- Tofu: ERS food code 41420010 Soybean curd (Includes stir fried; bean curd; tofu), matched directly to store sales data · nutrients FDC ID 2707435
- Tuna steak: ERS food code 26153120 Tuna, fresh, baked or broiled, fat added (Includes sauteed; fried with no coating; ahi; aku; bonito; NS as to fat), priced from its recipe ingredients · nutrients FDC ID 2706310
- Turkey breast: ERS food code 24201120 Turkey, light meat, roasted, skin not eaten (Includes any source), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706109
- TVP: ERS food code 41440000 Textured vegetable protein, dry, price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2707451
- White bread: ERS food code 51101000 Bread, white (Includes diet sliced or very thin sliced; English muffin bread; pre-sliced, commercial; pretzel bun), matched directly to store sales data · nutrients FDC ID 2707598
- White rice: ERS food code 56205008 Rice, white, cooked, no added fat (Includes basmati or jasmine rice), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2708408
- Whole chicken: ERS food code 24102020 Chicken, NS as to part, baked, broiled, or roasted, skin not eaten (Includes any source), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2705934
- Whole milk: ERS food code 11111000 Milk, whole (Includes 3.5% or 3.8% fat milk; leche fresca), matched directly to store sales data · nutrients FDC ID 2705385
- Whole turkey: ERS food code 24201330 Turkey, light and dark meat, roasted, skin eaten (Includes NS as to skin eaten; any source), price carried over from a closely matching food (ERS method altEC) · nutrients FDC ID 2706114
- Whole wheat bread: ERS food code 51300110 Bread, whole wheat (Includes pre-sliced, commercial; whole grain), matched directly to store sales data · nutrients FDC ID 2707709
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.