Skip to content
Skip to content

Nutrition7 min read

Nutrient-dense foods that make gaining weight easier

Forcing down ever bigger portions is not the only way to eat more. Choosing foods that pack more energy into the same volume works just as well, and this guide is for healthy adults 18 and over looking for practical, nutrient-dense options rather than empty calories.

By Chris Mann Dip.IOPNUpdated 2026-08-15

The short answer

Good options include nuts and nut butters, olive oil, oily fish, full-fat dairy, avocado, dried fruit, oats and starchy carbohydrates such as rice and potatoes. Adding small amounts to meals you already eat, like peanut butter on toast or olive oil over vegetables, raises calorie intake without needing much bigger portions.

  • Choose calorie-dense foods over bigger plates
  • Add fats like nuts and oils to existing meals
  • Include starchy carbs at most meals
  • Keep protein sources in the mix, not just extra calories

Why calorie-dense foods make gaining easier

Some foods provide a lot of energy in a small volume, while others provide very little. Vegetables and lean meats are valuable but relatively low in calories for their bulk, which means relying on them alone to gain weight can mean eating uncomfortably large amounts. Calorie-dense foods let you hit your target without feeling constantly overfull.

This does not mean switching to sugary or fried foods. Nutrient-dense options like nuts, oily fish and whole grains bring useful vitamins, minerals, fibre and protein alongside their calories, supporting your training and general health as you gain weight.

Foods worth adding to your shopping list

Approximate calories per typical serving
FoodServingCalories
Peanut butter2 tbsp (32g)~190 kcal
Olive oil1 tbsp (14g)~120 kcal
Almonds30g handful~175 kcal
AvocadoHalf~120 kcal
Oats (dry)60g~230 kcal
Full-fat Greek yoghurt170g~190 kcal
Salmon150g cooked~280 kcal
Dried apricots40g~95 kcal
  • Nuts and seeds for snacking or topping meals
  • Oils and full-fat dairy to enrich sauces and cooking
  • Oats, rice, pasta and potatoes as a base for most meals
  • Dried fruit for a compact, portable calorie boost

Simple ways to add calories to meals you already eat

Rather than adding entirely new meals, small additions to your usual food are often easier to keep up. A splash of olive oil, a spoonful of nut butter or a handful of nuts can add a meaningful number of calories without changing the meal much.

  1. Step 1

    Add oil to cooking

    Cook vegetables, rice or eggs with an extra tablespoon of olive or rapeseed oil.

  2. Step 2

    Top with nuts or seeds

    Sprinkle almonds, walnuts or seeds over porridge, yoghurt or salads.

  3. Step 3

    Swap to full-fat dairy

    Choose full-fat milk, yoghurt and cheese over reduced-fat versions.

  4. Step 4

    Add a starchy side

    Include rice, potatoes or pasta with meals that might otherwise be mostly protein and vegetables.

Using drinks to add calories without extra fullness

Liquid calories tend to be less filling than solid food, which makes drinks a useful tool if you struggle to eat large meals. Milk, smoothies and shakes can add a meaningful amount of energy alongside your usual meals rather than instead of them.

  • A glass of whole milk with meals adds around 150 kcal
  • A blended smoothie with fruit, oats and milk can add 300-400 kcal
  • A protein shake with milk instead of water adds calories and protein together

Putting it together across a day

You do not need to use every food on this list every day. Picking two or three simple additions, such as oats with nut butter at breakfast, olive oil in cooking, and a glass of milk with dinner, can add several hundred extra calories without much extra effort or planning.

Gaining weight without wrecking the rest of your diet

It is easy to reach a calorie target with biscuits and takeaways, and much better for your health to reach it with foods that bring something else along. Energy-dense whole foods let you eat more without eating a diet made of extras.

Better and worse ways to add 500 kcal
OptionWhat else it brings
50g nuts and a glass of whole milkProtein, unsaturated fat, calcium, fibre
Extra olive oil on cooked food and a yoghurtUnsaturated fat, protein, live cultures
Two slices of toast with peanut butter and a bananaCarbohydrate, fibre, potassium
A large chocolate barMostly saturated fat and sugar
A pastry and a sugary coffeeLittle protein, no fibre

How to adjust the surplus as your weight changes

A surplus is not a number you set once. As you get heavier, maintenance rises with you, so the same intake gradually becomes a smaller surplus. Reviewing it every few weeks keeps the rate of gain where you want it.

What the trend is telling you
Fortnightly trendWhat it meansWhat to do
No changeYou are at maintenanceAdd about 200 kcal a day
Gaining 0.25 to 0.5% of bodyweight weeklyOn targetChange nothing
Gaining faster than 0.5% weeklySurplus too largeRemove about 200 kcal a day
Losing weightIntake below maintenanceAdd about 300 kcal a day

Making the target achievable rather than theoretical

Most people who miss their protein target are not missing it by much, and they are usually missing it at breakfast. Getting a decent amount into the first meal of the day removes most of the shortfall without any thought later on.

Building the day up in protein
MealEasy optionProtein
BreakfastGreek yoghurt with oats, or three eggs on toastAbout 25g
LunchTuna or chicken with rice and saladAbout 30g
SnackMilk, cottage cheese or a shakeAbout 20g
DinnerChicken thighs, salmon, tofu or lentil dhalAbout 35g

Common questions

What are the best high-calorie foods for healthy weight gain?
Nuts, nut butters, olive oil, oily fish, full-fat dairy, avocado and starchy carbohydrates like rice, oats and potatoes are among the best options. They provide a lot of energy alongside useful protein, fibre, vitamins and minerals rather than empty calories.
Are high-calorie foods bad for you if you're trying to gain weight?
Nutrient-dense, higher-calorie foods are not bad for you when eaten as part of a varied diet in a controlled surplus. Problems tend to arise when weight gain relies mainly on highly processed, low-nutrient foods instead.
How can I add calories without eating bigger meals?
Add calorie-dense extras to meals you already eat, such as oil, nut butter, nuts, seeds, cheese or full-fat dairy. This raises the calorie content of a meal without needing a larger portion size.
Are smoothies a good way to gain weight?
Smoothies can be a convenient, less filling way to add calories, especially blended with oats, nut butter, milk and fruit. They work well as an addition alongside regular meals rather than a replacement for them.
How many extra calories should high-calorie foods add per day?
Aim for enough additions to reach your overall surplus target, typically 200 to 300 calories above maintenance for most beginners. Two or three simple additions across the day, such as nuts, oil in cooking and a glass of milk, usually covers this.
Can I gain weight healthily on a vegetarian diet?
Yes, vegetarian sources like nuts, oils, full-fat dairy, avocado, oats and legumes provide plenty of calories and nutrients to support healthy weight gain. Combining a variety of these across the day covers both energy and protein needs.

References

Every figure in this guide traces to one of these documents. Open them and check.

  1. Composition of foods integrated dataset (CoFID)Public Health England
  2. The Eatwell GuideNHS

Educational information for adults aged 18 and over. It does not diagnose, treat or manage any medical condition. If you have a health condition, or symptoms that worry you, speak to a qualified clinician.