The best foods for weight gain are calorie-dense whole foods that pack a lot of energy into small portions: nuts, nut butters, avocados, whole milk, olive oil, dried fruit, and fatty fish. Gaining weight requires eating more calories than your body burns, and the right foods make that surplus feel manageable rather than forcing you to stuff yourself at every meal.
To gain about a pound per week, you need roughly 3,500 extra calories over seven days, or about 500 extra calories per day above what you currently burn. If your goal is lean muscle rather than fat, the threshold is slightly lower: around 2,000 to 2,500 extra calories per week, combined with strength training.
Nuts, Seeds, and Nut Butters
Nuts are one of the most efficient weight-gain foods. A single ounce (a small handful) of most nuts or seeds delivers 160 to 200 calories. That’s a meaningful calorie boost from a portion you can eat in under a minute. Almonds, walnuts, cashews, pecans, sunflower seeds, and pumpkin seeds all fall in this range. Nut butters work the same way: two tablespoons of peanut or almond butter add around 190 calories to a piece of toast, a smoothie, or a bowl of oatmeal.
Because nuts are mostly unsaturated fat, they come with real health benefits. Diets built around plant-based fats are linked to lower inflammation, better blood sugar control, and reduced risk of heart disease compared to diets heavy in animal fats or processed foods. That matters when you’re eating in a surplus, because the type of calories you add shapes your long-term health, not just the number on the scale.
Whole Milk and Full-Fat Dairy
Switching from skim to whole milk is one of the simplest dietary swaps for gaining weight. A cup of whole milk has 152 calories compared to 84 in skim, nearly double, with the same 8 grams of protein. If you drink two glasses a day, that switch alone adds about 136 calories with zero extra effort or volume of food.
Full-fat yogurt, cheese, and cottage cheese follow the same logic. Greek yogurt with whole milk is especially useful because it combines the calorie density of fat with a high protein content. Cheese is another easy add: grate it over eggs, pasta, or rice to increase the calorie density of meals you’re already eating.
Avocados and Healthy Oils
Half an avocado provides 100 to 150 calories, mostly from heart-healthy fats. You can add it to sandwiches, eggs, salads, or smoothies without dramatically changing the volume of your meal. Olive oil is even more concentrated: a single tablespoon adds 100 calories. Drizzling olive oil over vegetables, rice, or pasta is one of the easiest ways to increase a meal’s calorie count without feeling fuller.
Butter, mayonnaise, and other cooking fats also deliver about 100 calories per tablespoon, but olive oil and avocado oil are better choices for regular use. Replacing saturated fats with unsaturated ones improves cholesterol levels and lowers heart disease risk. If you’re eating in a calorie surplus for weeks or months, those choices compound.
Protein-Rich Foods for Lean Gains
Eating enough protein is what determines whether your extra calories become muscle or just fat. The target for building muscle is about 1 to 1.5 grams of protein per kilogram of body weight per day. For a 150-pound person, that works out to roughly 68 to 102 grams daily. Going higher than that range doesn’t speed up muscle growth.
The best protein sources for weight gain pull double duty by also being calorie-dense. Salmon, chicken thighs (fattier than breasts), whole eggs, ground beef, and pork all deliver protein alongside enough fat to keep calorie counts high. Eggs are particularly practical: two large eggs have about 140 calories and 12 grams of protein, and they cook in minutes. Red meat and fatty fish like salmon also supply nutrients like iron, zinc, and omega-3 fats that support recovery from training.
If you’re vegetarian or just want more options, beans, lentils, and chickpeas combine protein with complex carbohydrates. A cup of cooked lentils has roughly 230 calories and 18 grams of protein.
Starches and Whole Grains
Calorie-dense carbohydrates form the backbone of most weight-gain diets. Rice, pasta, oats, potatoes, sweet potatoes, and bread all provide the energy your body needs to fuel workouts and recover. A cup of cooked rice has about 200 calories and is easy to prepare in bulk. Oatmeal made with whole milk instead of water becomes a 350-to-400-calorie breakfast before you even add toppings.
Granola is worth singling out. It’s one of the most calorie-dense grain foods you can buy, with many varieties hitting 400 to 500 calories per cup. Mixed with full-fat yogurt and fruit, it becomes a high-calorie snack that doesn’t feel like a chore to eat. Dried fruit (raisins, dates, apricots, mango) is another concentrated carb source, with roughly three times the calories of the same weight in fresh fruit because the water has been removed.
Why Smoothies and Shakes Work So Well
Liquid calories are one of the most effective tools for weight gain, and the science explains why. When you drink calories, your body’s satiety signals respond much more weakly than when you eat the same calories as solid food. Your digestive system essentially doesn’t “register” liquid energy the same way, which means you can consume a 600-calorie shake and still feel hungry enough to eat a full meal shortly after.
This happens because liquids bypass the sensory feedback loop that normally tells your brain how much energy you’ve taken in. Foods consumed quickly, without much chewing, don’t trigger the same preparatory digestive responses that solid meals do. The result is weaker appetite suppression and higher total daily intake.
A practical weight-gain smoothie might include whole milk, a banana, a tablespoon of peanut butter, a scoop of protein powder, and a handful of oats. That combination easily reaches 500 to 700 calories in a single glass. Drinking one between meals can close the gap between your current intake and your target without making you skip your next meal.
One exception: soup. Despite being liquid, soup is consumed slowly, spoonful by spoonful, which gives your body time to process satiety cues. Soup is more filling than a shake or smoothie with similar calories. If you’re struggling to eat enough, smoothies and shakes are the better choice over soup.
Meal Frequency and Timing
Eating more often throughout the day is a common strategy for weight gain, and there’s data to support it. A large cohort study published in the Journal of the American Heart Association found that each additional meal per day was associated with about 0.28 kg (roughly half a pound) of weight gain per year. Medium and large meals drove most of that effect, with an extra medium-sized meal per day linked to nearly 1 kg of annual weight gain.
In practice, this means that adding a fourth or fifth eating occasion, even just a snack-sized meal of nuts, a sandwich, or a smoothie, can meaningfully increase your total intake over time. Many people who struggle to gain weight find that three large meals feel overwhelming, but five moderate ones are manageable. Eating every three to four hours prevents you from arriving at meals too full from the last one or too depleted to eat enough.
What to Avoid When Gaining Weight
It’s tempting to load up on fast food, candy, and processed snacks to hit a calorie target. This approach, sometimes called “dirty bulking,” does produce weight gain, but the trade-offs are significant. Excess calories from ultra-processed foods get stored disproportionately as fat rather than muscle. Periods of heavy processed-food intake are associated with vitamin deficiencies, low energy, digestive problems, and increased risk of heart disease and high cholesterol.
The goal is a calorie surplus from foods that also provide vitamins, minerals, fiber, and protein. You don’t need to eat perfectly, but building your surplus around whole foods (the nuts, dairy, oils, proteins, and grains described above) gives your body the raw materials it needs to gain weight in a way that actually improves how you look and feel, rather than just moving a number on the scale.

