The most effective foods for weight gain are calorie-dense whole foods rich in healthy fats, complex carbohydrates, and protein. Gaining one to two pounds per week requires eating roughly 500 to 1,000 extra calories each day beyond what your body burns. The key is choosing foods that pack a lot of energy into small portions, making it easier to hit that surplus without feeling uncomfortably stuffed.
Healthy Fats: The Most Calorie-Dense Option
Fat contains more than twice the calories per gram of protein or carbohydrates, which makes high-fat whole foods the easiest way to add calories without adding volume. Nut butters like peanut or almond butter deliver about 190 calories in just two tablespoons. A single ounce of nuts or seeds (roughly a small handful) provides 160 to 200 calories. Half an avocado adds 100 to 150 calories to a meal. Even a tablespoon of olive oil, butter, or mayonnaise contributes around 100 calories.
These numbers add up fast. Spreading peanut butter on toast, drizzling olive oil over rice, or tossing a handful of trail mix into your bag creates calorie boosts that barely register in terms of fullness. That’s the advantage of fat-rich foods: you can eat more total energy before your stomach tells you to stop.
Starchy Carbohydrates for Sustained Energy
Complex carbohydrates from starchy vegetables and whole grains give your body a steady supply of fuel while also being easy to eat in large quantities. Potatoes, sweet potatoes, corn, peas, butternut squash, and cassava are all solid choices. Grains like oats, rice, quinoa, and whole wheat bread round out the list.
These foods also contain fiber, which slows digestion and feeds beneficial gut bacteria. That matters because gaining weight on fiber-rich starches keeps your digestive system healthier than relying on refined carbs like white bread or sugary cereals. A baked potato with butter and cheese, a big bowl of oatmeal with banana and peanut butter, or a plate of rice alongside your main course can each contribute several hundred calories to a meal.
Protein Sources That Support Muscle
Eating enough protein ensures that the weight you gain includes muscle, not just fat. If you’re active or doing any strength training, aim for about 1.2 to 1.7 grams of protein per kilogram of body weight each day. For a 150-pound person, that’s roughly 82 to 116 grams daily.
Animal sources like chicken thighs, salmon, eggs, and ground beef are calorie-dense and protein-rich. Fattier cuts and preparations naturally carry more calories than lean options like chicken breast, so don’t shy away from them when your goal is gaining weight. Whole milk, cheese, and full-fat yogurt are also excellent because they combine protein with fat.
Plant-based options can be just as effective. Lentils provide about 13 grams of protein per three-quarter cup. Edamame delivers 17 grams in the same serving. Tempeh packs 27 grams in two-thirds of a cup, and firm tofu offers around 12 grams. Beans, chickpeas, and split peas all fall in the 9 to 14 gram range per serving. Combining these with grains gives you complete protein and plenty of calories.
Smoothies and Liquid Calories
Drinking calories is one of the most practical strategies when you’re struggling to eat enough. Liquids bypass the fullness signals that solid food triggers, so you can consume more total energy. A smoothie made with yogurt, milk, a banana, protein powder, and wheat germ comes in around 608 calories. Adding a tablespoon of flaxseed oil pushes it past 700.
You can customize smoothies with whatever calorie-dense ingredients you have on hand: nut butter, oats, frozen fruit, coconut cream, honey, or full-fat milk. Two smoothies a day alongside regular meals can easily add 1,000 or more calories to your diet with minimal effort. Just be careful about when you drink them. If liquids fill you up and kill your appetite for solid food, have your smoothie between meals rather than alongside them.
Why Food Quality Matters
It might seem logical to just eat pizza, fast food, and ice cream to hit a calorie surplus. This approach, sometimes called “dirty bulking,” does produce weight gain, but the results aren’t what most people want. A study of 600 elite athletes compared those who overate freely with those who maintained a controlled diet. Both groups improved their strength at the same rate and gained similar amounts of muscle. The difference was in fat: the overeating group gained 15% more body fat, while the controlled group gained only 2%.
Beyond body composition, eating mostly processed food during a weight gain phase increases the risk of vitamin deficiencies, digestive problems, low energy, and elevated cholesterol. A cleaner approach focuses on roughly 50% of calories from complex carbohydrates, 30% from protein, and 20% from unsaturated fats. You don’t need to follow those ratios precisely, but they’re a useful guide for keeping your weight gain productive rather than just adding body fat.
Practical Tips for Eating More
Many people who need to gain weight have small appetites, which makes eating enough feel like a chore. Shifting from three meals a day to five or six smaller ones is often easier than forcing yourself through massive plates of food. You may also need to eat on a schedule rather than waiting until you feel hungry, since hunger signals can be unreliable when you’re underweight.
A few small habits make a big difference. Add calorie-dense toppings to foods you already eat: cheese on scrambled eggs, olive oil on pasta, granola on yogurt, avocado on sandwiches. Choose full-fat versions of dairy products. Keep portable snacks like trail mix, dried fruit, or nut butter packets nearby so you can graze between meals. Avoid drinking water or other beverages right before or during meals if they tend to fill you up.
Track your progress by weighing yourself at the same time each week rather than daily, since day-to-day fluctuations from water and digestion can be misleading. One to two pounds per week is a sustainable rate. If you’re gaining faster than that, you’re likely adding more fat than necessary. If the scale isn’t moving, increase your daily intake by another 250 to 500 calories and reassess after a week or two.
Sample High-Calorie Day
- Breakfast: Two eggs scrambled with cheese, two slices of whole wheat toast with peanut butter, a banana, and a glass of whole milk.
- Mid-morning snack: A high-calorie smoothie with yogurt, milk, protein powder, banana, and a tablespoon of flaxseed oil.
- Lunch: Rice with chicken thighs, avocado, black beans, and olive oil drizzled on top.
- Afternoon snack: A handful of mixed nuts with dried fruit, or hummus with pita bread.
- Dinner: Salmon with a large baked sweet potato topped with butter, and a side of roasted vegetables.
- Evening snack: Full-fat Greek yogurt with granola and honey.
This type of day easily reaches 3,000 or more calories depending on portion sizes, with a balance of protein, healthy fats, and complex carbohydrates that supports both muscle growth and overall health.

