Weight Gain Foods on a Budget

Affiliate disclosure (FTC): WeightGain.us is reader-supported. Some links in this guide may be affiliate links, meaning we could earn a small commission if you buy through them — at no extra cost to you. This never changes our recommendations, which are based on published evidence.

Gaining weight doesn't require expensive supplements or premium groceries. The most cost-effective weight gain foods are cheap, calorie-dense staples — oats, rice, eggs, peanut butter, whole milk, bananas, potatoes and dried beans — that deliver the most calories per dollar. Here are the best budget picks ranked by value, a low-cost meal day, and a homemade gainer that beats any store tub on price.

Key takeaways
  • Think calories per dollar: oats, rice, eggs, peanut butter, milk and beans win.
  • Eggs, beans, canned tuna and milk are the cheapest quality proteins.
  • A homemade milk-oats-peanut-butter shake beats any mass-gainer tub on price.
  • Buy staples in bulk, use frozen produce, cook in batches, choose store brands.

Best calories per dollar

To gain weight cheaply, think in calories per dollar, not just price. A bag of oats or rice, a dozen eggs and a jar of peanut butter deliver enormous calories for a few dollars — far more than packaged snacks or supplements. The USDA's Thrifty Food Plan and decades of food-cost research consistently rank grains, legumes, eggs, oils and milk among the cheapest sources of energy and protein. Build your diet around those, and a calorie surplus becomes affordable.

Cheap calorie-dense staples

FoodWhy it's great value
OatsCents per serving, ~150 cal per 1/2 cup dry, filling and versatile
Rice & pastaBulk carbohydrate calories for very little money
PotatoesCheap, calorie-dense with added oil or butter
Peanut butter~190 cal per 2 tbsp; one of the best value calorie sources
Whole milk~150 cal per cup; cheap liquid calories + protein
BananasOften the cheapest fruit; easy calories
Vegetable oilThe cheapest pure calories — a spoon adds ~120
Dried beans & lentilsProtein + carbs + fiber, pennies per serving

Cheap protein sources

Protein doesn't have to mean pricey cuts of meat. The best-value options are eggs, dried beans and lentils, canned tuna, whole milk, peanut butter, cottage cheese, and a basic tub of whey or store-brand protein powder. Eggs in particular are one of the cheapest complete proteins available. A plain whey tub costs far less per gram of protein than ready-to-drink shakes — see our protein powder guide.

A budget meal day (~3,000 kcal)

MealFood~Cal
BreakfastOats cooked in whole milk with peanut butter and banana~650
Snack2 boiled eggs + a glass of whole milk~350
LunchRice and beans with oil and cheese~750
SnackPeanut butter sandwich~400
DinnerPasta with canned tuna, olive oil and frozen veg~750

Every item here is a low-cost staple, and the whole day still hits a solid surplus.

The cheapest homemade gainer

Skip the expensive mass-gainer tub. Blend whole milk + oats + peanut butter + a banana (add cheap whey if you have it) for roughly 800–1,000 calories at a fraction of the cost of a commercial gainer — which is mostly cheap maltodextrin anyway. Full recipes in our weight gain shakes guide.

Money-saving tips

The bottom line

Gaining weight on a budget is entirely doable without supplements or premium groceries. Build your diet around the cheapest calorie-dense staples, get protein from eggs, beans and milk, and blend your own gainer at a fraction of a tub's cost. Eat big for less, hit your surplus, and your wallet barely notices.

Informational, not medical advice. This article is general educational information, not a substitute for professional medical or nutrition advice. If you are underweight, have lost weight unintentionally, have a food allergy or any health condition, consult a doctor or registered dietitian before changing your diet. Operator: Mustafa Bilgic.

Frequently asked questions

What are the cheapest foods to gain weight?
Oats, rice, pasta, potatoes, eggs, peanut butter, whole milk, bananas, vegetable oil and dried beans deliver the most calories per dollar. Building your diet around these staples makes a calorie surplus affordable without supplements or premium groceries.
How can I gain weight on a tight budget?
Buy calorie-dense staples in bulk, lean on eggs, beans, oats, rice and peanut butter for cheap calories and protein, use frozen produce, cook in batches, and make a homemade gainer shake from milk, oats, peanut butter and banana instead of buying tubs.
What is the cheapest source of protein for weight gain?
Eggs, dried beans and lentils, canned tuna, whole milk, peanut butter and cottage cheese are the best-value proteins. A plain store-brand whey tub also costs far less per gram of protein than ready-to-drink shakes.
Do I need expensive supplements to gain weight?
No. Whole food covers everything you need to gain weight. The only supplement worth budgeting for is a basic protein powder, and even that is optional if you hit your protein target from cheap foods like eggs, beans and milk.
What is the cheapest homemade weight gainer?
Blend whole milk, oats, peanut butter and a banana for roughly 800 to 1,000 calories at a fraction of the cost of a commercial mass gainer, which is mostly inexpensive maltodextrin. Add cheap whey if you have it for extra protein.

Keep reading

References

Sources: USDA FoodData Central · NIH/NIDDK — Weight Management · Mayo Clinic — Healthy weight gain · Academy of Nutrition and Dietetics · ISSN — Protein & Exercise Position Stand.