Two Phoenix Bars held up to the camera

The Best Weight Gain Foods to Buy: A Priced UK Shopping List

In this guide

James Frost, founder of Flaming PhoenixWritten by James Frost, founder of Flaming Phoenix. Updated October 2026: every food on the list now has a checked Tesco price, calories per pack and cost per 100 calories.

The best foods for weight gain are calorie-dense and carry protein. For days with no time to prepare anything, my pick is a Phoenix Bar, which I make: up to 557 calories and up to 19g of protein in a compact, 120g bar, with nothing to cook. For the trolley, the staples are peanut butter (622 calories per 100g), salted peanuts (626), cheddar (416) and porridge oats (376), with whole milk, eggs and oily fish for more protein. At Tesco, oats, rice and vegetable oil cost under 3p per 100 calories, so the weekly shop needn't be expensive.

The NHS suggests adults who need to gain weight add around 300 to 500 calories a day, gradually. This page is the shopping side of that advice: what goes in the trolley, what it costs and what each item adds. For the eating side, start with the how to gain weight guide. If you want your own daily number instead of the NHS range, the weight gain calculator works it out for you.

Prices checked October 2026. Every price and calorie figure below comes from the product's own page on Tesco.com, read on 19 October 2026 at the normal shelf price, without Clubcard offers. Calories per pack and cost per 100 calories are my arithmetic from the label's per-100g figure. Many of the own-brand basics carry Tesco's Aldi Price Match badge, so Aldi's versions should cost about the same; Sainsbury's and Asda will be close, but I have not checked them.

What makes a food good for putting on weight?

A good weight gain food gives you a lot of calories for the room it takes up, brings some protein with it and is cheap enough to buy every week. I hold everything on this list to four tests:

  • Calories per 100g: 350 or more for solid food, or it slips unnoticed into food you already eat, as milk, cream and oil do.
  • Protein: does it add some? Dietitians at North Tees and Hartlepool NHS Foundation Trust suggest three portions of foods high in protein every day when you are trying to gain weight.
  • Cost: most everyday items here come in under 20p per 100 calories.
  • Repeatability: will you eat it again next week? The best weight gain food is the one you enjoy enough to buy twice.

Fruit and salad fail the first test, which is why they only make small appearances below. The Norfolk and Norwich University Hospitals leaflet makes the same point: fruit and vegetables matter for vitamins and fibre, but they are low in calories and protein.

What should you buy from the cupboard aisles?

The cupboard is where the cheap calories live, and almost all of it keeps for months, so you can buy once and stop thinking about it.

  • Grower's Harvest Porridge Oats 1kg: 85p for 3,760 calories, about 2p per 100. A 50g bowl made with 250ml of whole milk is 353 calories for 22p, and oats are the base for high-calorie porridge, overnight oats and shakes.
  • Grower Harvest Long Grain Rice 1kg: 52p for roughly 3,600 calories, about 1.4p per 100. Tesco's label puts a 75g dry portion at about 273 calories once cooked; fried the next day with an egg and a tablespoon of oil, the same portion reaches about 470.
  • Tesco Fusilli Pasta Twists 1kg: £1.19 for roughly 3,600 calories, about 3p per 100. On Tesco's figures 75g dry cooks to about 170g and 269 calories, and 30g of grated cheddar on top adds another 125.
  • Tesco Smooth Peanut Butter 1kg: £4.75 for 6,220 calories, about 8p per 100, with 28.4g of protein per 100g. A 30g spread on toast or a spoonful stirred into porridge adds 187 calories and 8.5g of protein for 14p, and you barely notice it.
  • Tesco Salted Roasted Peanuts 550g: £2.55 for 3,443 calories, about 7p per 100, and a 30g handful is 188 calories. Tesco's Roasted Mixed Nuts 200g cost £2.50 for 1,282 calories, about two and a half times as much per calorie, so buy mixed nuts for variety, not value.
  • Tesco Pure Vegetable Oil 1L: £1.45 for 9,000 calories, under 2p per 100, and a 15ml tablespoon is 135 calories. Tesco Olive Oil 1L costs £7.25 for 8,220 calories (about 9p per 100) and earns its price where you taste it: drizzling oil over cooked food is one of the easiest ways to add calories without adding volume.
  • Tesco Seedless Raisins 500g: £2.30 for 1,385 calories, about 17p per 100. At 277 calories per 100g they are much lighter than nuts; a 30g handful stirred into porridge adds 83.
  • Tesco Skinless Boneless Scottish Mackerel in Tomato Sauce 125g: £1.45 a can for 264 calories and about 21g of protein. Dear per calorie at 55p per 100, but oily fish such as mackerel, salmon and sardines bring protein and omega-3 fats, the tinned versions keep for months, and the North Tees and Hartlepool leaflet suggests two portions a week. On toast it is a five-minute lunch.
  • Ambrosia Rice Pudding 400g: £1.65 a tin, or any two selected Ambrosia puddings for £2 with Clubcard until 19 January 2027, for 372 calories a tin. The NHS names rice pudding as an easy snack, and half a tin is 186 calories, cold or warmed.

Also worth a place, though I have not priced them here: pumpkin, sunflower and chia seeds, tahini, wholegrain bread, potatoes and sweet potatoes, and avocados.

What should you buy from the fridge?

The fridge is where most of the protein comes from, and full-fat versions do quiet work: they raise the calories of everything you use them in without you eating any more.

  • Tesco British Whole Milk, 4 pints: £1.65 for 1,500 calories, 11p per 100. A 200ml glass is 132 calories and 7g of protein. Swapping skimmed for whole in every drink and bowl of cereal is the easiest change on this page.
  • Marvel Original Dried Skimmed Milk Powder 250g: £5.00, with 35.7g of protein and 347 calories per 100g. The North Tees and Hartlepool leaflet suggests whisking 2 to 4 tablespoons into a pint of milk. You buy it for the protein; the calories are dear. T.H/E Dried Skimmed Milk 340g is £3.50, about half the price per kilo, though Tesco's page does not show its nutrition.
  • Tesco Greek Style Natural Yogurt 1kg: £1.70 for 990 calories, and a 150g bowl is 149 calories. Read the label if protein matters to you: this one has 3.7g per 100g, so treat it as a carrier for granola, honey and nuts.
  • Tesco Mature Cheddar 400g: £3.20 for 1,664 calories, 19p per 100. A 30g piece is 125 calories and 7.6g of protein, and it goes on almost any savoury meal.
  • Creamfields Double Cream 300ml: £1.29 for 1,401 calories, 9p per 100. Two tablespoons (30ml) stirred into soup, mash, a sauce or porridge add 140 calories.
  • Tesco Mixed Sized Free Range Eggs, 15 pack: £2.85, or 19p an egg, at 62 calories and 5.9g of protein each. Poor value per calorie (31p per 100) but good value per gram of protein; two eggs with 30g of cheddar come to 249 calories before the butter or toast.
  • Tesco British Chicken Thighs 1kg: £2.99, labelled at 186 calories and 18.5g of protein per 100g. Red meat and chicken thighs, rather than lean breast, give you the protein with more calories attached.
  • From the fruit bowl, Tesco Ripe Bananas, 5 pack: 78p, about 16p each, and 135 calories a banana on Tesco's label. Blend one into milk or slice it over porridge.

Free download

Free guide: how to eat 500+ calories in under 2 minutes

A short PDF of the simplest ways people get more calories from less food. Free, sent straight to your inbox.

Free. Unsubscribe anytime. Privacy policy

How do you add 500 calories a day for under 40p?

Put three things from the list into one drink or bowl: 300ml of whole milk, 30g of porridge oats and 30g of smooth peanut butter come to 498 calories and 22g of protein for 39p.

The working, on the Tesco prices above:

  • 300ml whole milk: 198 calories, 22p
  • 30g porridge oats: 113 calories, 3p
  • 30g smooth peanut butter: 187 calories, 14p
  • Total: 498 calories, 22g protein, 39p

Blend it cold as a shake, or warm the milk and stir in the oats and peanut butter for porridge. Seven of them add 3,486 calories over a week for £2.73, which sits at the top of the NHS range of 300 to 500 a day. On a day you train, add a banana and it becomes 633 calories for 55p.

Is a homemade shake as good as a weight gainer from the shop?

For most people, yes: the shake above gives 498 calories for 39p from food already in the cupboard, and you know exactly what is in it.

Weight gainer powders make sense if you train away from a kitchen. If you buy one, compare calories and protein per serving on the label and look at what the calories are made from. More recipes are in the homemade weight gainer shakes guide and the high-calorie drinks guide, and plant-based powders are compared in the vegan mass gainer guide. Drinks are often easier than another plate when your appetite runs out early; the North Tees and Hartlepool leaflet suggests having them after meals, not with them, so they do not fill you up first.

What are the best snacks for weight gain?

The best snacks for weight gain need no cooking and give you 150 calories or more in a few bites, and a Phoenix Bar gives the most in one item, up to 557 calories. From the shopping list, a 30g handful of peanuts (188 calories), half a tin of rice pudding (186) or a banana with 30g of peanut butter (322) all work.

Keep them where you will see them: by the kettle, in your bag, in the desk drawer. Cheddar on oatcakes, a pot of full-fat yoghurt with a handful of raisins and a slice of toast thick with peanut butter all work too. The high-calorie snacks guide ranks many more by calories per gram.

For the hours away from a kitchen, a bar is simpler to carry. Phoenix Bars, which I make, carry up to 557 calories in only 120g with up to 19g of protein, and they are vegan and gluten-free. All six flavours are on the high calorie bars page, and the comparison of bars for weight gain shows why they are my top pick. For bars that can replace a whole meal, see my best meal replacement bars UK comparison.

What should you not rely on to gain weight?

Don't build your weight gain on chocolate, cakes and sugary drinks: the NHS says not to rely on them, because you want the weight you gain to come with protein and nutrients.

Four other mistakes happen in the trolley itself:

  • Buying light versions. Low-fat yoghurt, skimmed milk and reduced-fat cheese strip out the calories you are paying for, and the Norfolk and Norwich leaflet says to avoid light, reduced and low-fat products when you are gaining weight.
  • Filling up on salad and fruit. They matter, but a big salad fills you before the calories arrive. Have the vegetables alongside something calorie-dense, not instead of it.
  • Drinking before meals. The NHS advises against filling up on drinks before you eat, so have the milkshake afterwards or between meals.
  • Buying for a week you will not eat. A 1kg tub of peanut butter is only good value if you finish it, so buy big only for the things you already eat every day.

Who is this list for, and who should start somewhere else?

This list suits adults who want to put on weight steadily from ordinary supermarket food. If you train and want the extra weight to be muscle, the best high-calorie foods for bulking ranks foods for that job, bulking meals turns them into plates with the calories and protein counted, and the protein calculator for weight gain gives you a daily protein target. If you have been told you can eat anything as long as the scales move, the dirty bulking guide weighs up whether that works.

If your appetite is small, buy the things that add calories without adding to the plate: cream, whole milk, peanut butter, cheese and oil. The guides to soft high-calorie foods and what to eat when your appetite is low go further. And if you have lost weight suddenly, or without changing what you eat or how active you are, see a GP before you change your shopping; the NHS lists both as reasons to get checked.

The short shopping list to take with you

Copy this for the shop: porridge oats, long grain rice, pasta, smooth peanut butter, salted peanuts, vegetable oil, raisins, two tins of mackerel, a tin of rice pudding, two 4-pint bottles of whole milk, Greek style yoghurt, mature cheddar, double cream, 15 eggs, chicken thighs and bananas. Add olive oil and skimmed milk powder if the budget stretches.

Without those two extras, the basket came to £34.27 at Tesco in October 2026 and holds about 40,600 calories before you count the chicken, 9,000 of them in the bottle of vegetable oil. Most of it lasts well beyond a week. For the idea behind choosing by calories per gram, see the calorie-dense foods guide, and for the cheapest possible version of this list, the cheap high-calorie foods ranking goes item by item.

Frequently asked questions

Which food is best to gain weight fast?

A Phoenix Bar adds the most in one go: up to 557 calories in a compact, 120g bar, with nothing to cook. After that, the quickest wins add calories without adding volume: a tablespoon of vegetable oil (135 calories), 30g of peanut butter (187) or a 200ml glass of whole milk (132). Fast is relative, though. The NHS advises adults to gain gradually, adding around 300 to 500 calories a day.

Is peanut butter good for putting on weight?

Yes. Tesco's smooth peanut butter has 622 calories and 28.4g of protein per 100g, so 30g adds 187 calories and 8.5g of protein for about 14p. If thick spreads are hard going, stir it into porridge or blend it into a milkshake, where you hardly notice it.

What are some ideas for high-calorie meal prep?

Batch-cook the cheap staples and add the fats at the end. A box of 75g dry pasta, 30g of cheddar and a tablespoon of olive oil is 517 calories for about 44p before any meat or vegetables. The bulking meals and high-calorie meals guides have full recipes with the numbers worked out.

How can a naturally skinny person gain weight?

Eat more often instead of forcing huge meals. The NHS suggests smaller meals more often with healthy snacks in between, plus strength training, which it says can also improve your appetite. If you have tried for months and stalled, the guide to gaining weight with a fast metabolism works through why.

Sources

NHS: Healthy ways to gain weight. North Tees and Hartlepool NHS Foundation Trust: Dietary advice about gaining weight in a healthy way. Norfolk and Norwich University Hospitals NHS Foundation Trust: Nutrition support, ideas to help you maintain or gain weight. Tesco.com product pages for every price and calorie figure, linked in the lists above and checked on 19 October 2026.

A mountaineer on a snowy summit holding up a Phoenix Bar

Big calories. Small bar.

Up to 557 calories in a compact, lightweight bar of only 120g, with up to 66g of carbs and 19g of protein. Eat it whole, break it into pieces over a few hours, or mix it with water or milk for porridge.

Easy to eat, easy to digest and not sickly sweet. Customers have eaten them at -45°C and through the heat of the Marathon des Sables, and they keep for up to 2 years, so they work on a mountain, on a night shift, or at home on days when eating enough feels hard.

  • 557 calories in only 120g (529 to 557 by flavour)
  • 4.6 calories per gram
  • 66g carbs per bar (up to)
  • 19g protein per bar (up to)
Choose a bundle
4.9 from 392 reviewsHand-packed and posted within 1 working day
See all bundles and flavours

Declare withdrawal

Please fill out the following form to declare your withdrawal from the contract.

EU Widerrufsbutton logo Easy EU Withdrawal Button