How to Gain Weight on a Budget: Cheap Calories That Work

Gaining weight doesn’t require expensive supplements or specialty foods. The basics are simple: eat more calories than you burn, prioritize protein, and choose whole foods that pack a lot of energy per dollar. Most of the best weight-gain foods are already among the cheapest items at the grocery store.

How Many Extra Calories You Actually Need

To gain one to two pounds per week, you need a surplus of roughly 500 to 1,000 calories above what your body burns daily. That sounds like a lot, but spread across a full day of eating, it’s manageable. A peanut butter sandwich on whole grain bread with a glass of whole milk adds around 500 calories to your day for less than a dollar.

A useful way to track your progress without obsessing over calories is to weigh yourself weekly and aim for a gain of about 0.25 to 0.5 percent of your body weight each week. For a 150-pound person, that’s roughly 0.4 to 0.75 pounds per week. Gaining faster than that usually means you’re adding more fat than muscle, so patience matters here.

Eat More Often

If you struggle to eat large meals, adding snacks between them is one of the most effective strategies. Research published in The Journal of Nutrition found that people who ate more than three meals per day experienced a measurable increase in BMI compared to those eating three or fewer. The more eating occasions per day, the greater the effect. This makes sense: it’s easier to eat 3,000 calories across five or six sittings than to cram them into three.

Keep budget-friendly snacks within reach. A handful of peanuts, a banana with peanut butter, a cup of whole milk yogurt, or a few slices of bread with butter all add 200 to 400 calories without much effort or cost.

The Cheapest High-Calorie Foods

The best weight-gain foods on a budget share two traits: they’re calorie-dense (lots of energy packed into a small volume) and they cost very little per serving. Here are the staples to build your grocery list around:

  • Rice: A 20-pound bag costs around $10 to $15 and provides hundreds of servings. One cup of cooked white rice has about 200 calories and pairs with almost anything.
  • Oats: A large canister of rolled oats runs $3 to $5 and lasts weeks. One cup of cooked oats delivers around 300 calories, and you can boost that further with milk, peanut butter, or honey.
  • Peanut butter: At roughly 190 calories per two-tablespoon serving, peanut butter is one of the most calorie-dense foods you can buy for under $4 a jar.
  • Whole milk: A gallon costs $3 to $5 depending on where you live and contains about 2,400 calories total. Drinking a few glasses a day adds serious calories with minimal effort.
  • Bananas: Often under 25 cents each, bananas add about 100 calories and blend easily into shakes.
  • Cooking oils and butter: Adding a tablespoon of olive oil or butter to your rice, pasta, or vegetables adds 100 to 120 calories for pennies.
  • Whole grain pasta and bread: These are some of the most inexpensive items at any grocery store, and a single plate of pasta with oil and cheese can easily reach 500 to 700 calories.

Budget Protein That Works

If you’re gaining weight and want a decent share of that to be muscle rather than just fat, protein matters. People who lift weights or do regular physical training need about 1.2 to 1.7 grams of protein per kilogram of body weight daily. For a 70-kilogram (154-pound) person, that’s 84 to 119 grams per day.

You don’t need expensive chicken breast or protein bars to hit those numbers. A one-pound bag of dried black beans costs around $1.50 and contains about 13 servings, each with roughly 7 to 8 grams of protein. Canned tuna often costs less than that bag of beans and delivers high-quality protein without the saturated fat found in red meat. Low-fat dairy, including milk, yogurt, and cottage cheese, is consistently cheaper than meat and eggs while offering comparable nutrition. Whole grains like brown rice and whole wheat pasta contribute additional protein on top of their calories.

Eggs remain excellent when prices are reasonable, and buying in bulk or from discount stores helps. Combining legumes with grains (rice and beans, lentil soup with bread) gives you a complete protein profile without spending extra.

A 1,100-Calorie Shake for Under $3

Liquid calories are a game-changer when you’re trying to gain weight on a budget. Drinking calories doesn’t fill you up the way solid food does, so you can add a high-calorie shake to your regular meals without losing your appetite.

One effective recipe blends half a cup of frozen strawberries, two tablespoons of peanut butter, one banana, a tablespoon of honey, one cup of oats, two scoops of whey protein powder, and a cup and a half of whole milk. That single shake delivers about 1,100 calories, 69 grams of protein, and 125 grams of carbohydrates. Every ingredient is a pantry staple, and once you’ve bought the protein powder (which lasts dozens of servings), each shake costs very little to make.

If protein powder isn’t in your budget right now, skip it and use extra peanut butter, powdered milk, or a couple of raw eggs. You’ll still land well above 700 calories per shake. Making one of these every evening in addition to your normal meals can be enough to push you into a consistent surplus.

Sample Day of Eating

Here’s what a realistic high-calorie day looks like using only budget staples:

Breakfast: A large bowl of oats cooked in whole milk with a sliced banana and a tablespoon of peanut butter. Around 550 calories.

Mid-morning snack: Two slices of whole grain bread with peanut butter and honey. Around 400 calories.

Lunch: Rice and black beans with a drizzle of olive oil and shredded cheese. Around 600 calories.

Afternoon snack: A glass of whole milk and a handful of peanuts. Around 350 calories.

Dinner: Whole grain pasta with canned tuna, olive oil, and a side of bread. Around 650 calories.

Evening shake: The oat and peanut butter shake described above. Around 700 to 1,100 calories depending on ingredients.

That’s 3,250 to 3,650 calories in a day, built almost entirely from foods that cost a few dollars per day total. Adjust portions up or down based on your starting weight and how quickly the scale moves each week.

Grocery Shopping Tips

Buy in bulk whenever possible. Large bags of rice, oats, dried beans, and lentils cost a fraction per serving compared to smaller packages. Store-brand products are almost always identical in nutrition to name brands and often 30 to 50 percent cheaper.

Frozen fruits and vegetables are just as nutritious as fresh and cost less, especially out of season. Canned goods like tuna, beans, and tomatoes have long shelf lives and go on sale frequently. If you have access to a wholesale club or discount grocery store, staples like eggs, milk, cheese, and bread are significantly cheaper there.

Skip the pre-made protein bars, mass gainers, and meal replacement shakes marketed at people trying to gain weight. You’re paying mostly for packaging and marketing. A homemade shake with oats, milk, and peanut butter delivers the same calories and protein at a fraction of the price.