What to Eat to Gain Muscle and Weight: Best Foods

Gaining muscle and weight requires eating more calories than you burn, with enough protein to build new tissue and enough carbohydrates and fats to fuel your training and recovery. The target is a caloric surplus of 5 to 20% above your maintenance calories, which translates to gaining roughly 0.25 to 0.5% of your body weight per week. That range keeps fat gain in check while giving your body the raw materials it needs to add lean mass.

How Many Calories You Actually Need

Your maintenance calories depend on your size, age, activity level, and metabolism. Most people can estimate theirs using an online calculator or by tracking intake for a week while their weight stays stable. Once you know that number, add 5 to 20% on top of it. If you maintain at 2,500 calories, that means eating 2,625 to 3,000 calories per day.

The size of your surplus should match your training experience. Beginners can handle a larger surplus (closer to 20%) because their bodies respond quickly to resistance training and partition more of those extra calories toward muscle. If you’ve been lifting for several years, a smaller surplus (closer to 5 to 10%) is smarter because advanced trainees gain muscle more slowly and are more likely to store excess calories as fat. A reasonable overall target is 1 to 2 pounds of weight gain per week, though leaner gains will fall on the lower end of that range.

Protein: How Much and How Often

Protein is the single most important macronutrient for building muscle. The well-supported target is 1.6 to 2.2 grams of protein per kilogram of body weight per day. For a 170-pound (77 kg) person, that works out to about 123 to 170 grams daily. Going below 1.6 g/kg leaves gains on the table. Going above 2.2 g/kg doesn’t appear to add measurable benefit.

How you spread that protein across the day matters. Your body builds muscle most efficiently when you distribute protein across at least four meals, hitting roughly 0.4 to 0.55 grams per kilogram at each sitting. For that same 170-pound person, that’s about 31 to 42 grams of protein per meal. Dumping all your protein into one or two meals is less effective than spacing it out.

An amino acid called leucine acts as the trigger that turns on muscle protein synthesis. You need about 3 grams of leucine per meal to flip that switch. Whey protein is the richest common source, at roughly 13 grams of leucine per 100 grams of protein. Beef contains about 1.9 grams per 100 grams of food, and whole eggs provide about 1 gram per 100 grams. This doesn’t mean you need whey protein at every meal, but it helps explain why animal proteins tend to be slightly more effective per gram for muscle building than most plant proteins.

Best Protein Sources for Muscle Gain

Build your meals around foods that are both protein-rich and calorie-dense, since you’re trying to gain weight, not just hit a protein number:

  • Chicken thighs over chicken breast when you want extra calories from fat
  • Beef (ground, steak, or roasts) provides protein, calories, and iron in one package
  • Whole eggs are cheap, versatile, and contain fat-soluble vitamins alongside protein
  • Salmon and other fatty fish add omega-3 fats along with high-quality protein
  • Greek yogurt and cottage cheese work well as snacks or mixed into meals
  • Whey protein powder is useful when you can’t hit your protein target with whole food alone

If you eat a plant-based diet, combining legumes, tofu, tempeh, seitan, and whole grains across the day can get you to the same protein targets. You may need slightly higher total protein intake (closer to 2.0 to 2.2 g/kg) because plant proteins are generally absorbed less efficiently and contain less leucine per serving.

Carbohydrates Fuel Your Training

Carbohydrates are your muscles’ primary fuel source during resistance training. They replenish glycogen, the stored energy in your muscles that gets depleted during hard sets. Current sports nutrition guidelines recommend consuming enough carbohydrates to fully restore glycogen after training, with post-exercise targets around 0.8 to 1.2 grams of carbohydrate per kilogram of body weight per hour in the first few hours after a workout.

In practical terms, this means carbs should make up a substantial portion of your total calories. Good options for gaining weight include rice, potatoes, sweet potatoes, oats, pasta, bread, and fruits. These are all calorie-dense and easy to eat in large quantities. If you struggle to eat enough, starchy carbs like rice and potatoes are easier to consume in volume than fibrous vegetables, which fill you up quickly on fewer calories.

Why You Shouldn’t Cut Fat Too Low

Dietary fat plays a critical role in hormone production, and cutting it too low can undermine your muscle-building efforts. A systematic review and meta-analysis of intervention studies found that low-fat diets significantly decrease testosterone levels in men. Men on low-fat diets (averaging about 19.5% of total calories from fat) had meaningfully lower total testosterone, free testosterone, and other related hormones compared to those on higher-fat diets (around 40% of calories from fat).

Fat is also the most calorie-dense macronutrient at 9 calories per gram, compared to 4 for protein and carbohydrates. That makes it your best friend when you’re trying to eat in a surplus without feeling uncomfortably full. Nuts, nut butters, avocados, olive oil, cheese, and whole eggs are all easy ways to add calories without adding much volume to your plate. A tablespoon of olive oil or peanut butter adds roughly 90 to 100 calories with minimal effort.

A Day of Eating for Muscle Gain

Here’s what a roughly 3,000-calorie day could look like for a 170-pound person training to build muscle:

Breakfast: Three whole eggs scrambled with cheese, two slices of toast with peanut butter, a banana, and a glass of whole milk. That’s roughly 35 grams of protein and 700+ calories before you leave the house.

Lunch: A large portion of rice with chicken thighs, a drizzle of olive oil, and a side of roasted vegetables. This meal can easily hit 40 grams of protein and 700 to 800 calories.

Afternoon snack: Greek yogurt with granola and honey, or a protein shake blended with oats, a banana, and peanut butter. Either option delivers 30 to 40 grams of protein.

Dinner: Salmon or beef with pasta or potatoes, plus a vegetable. Another 40+ grams of protein and 700 to 800 calories.

Evening snack: Cottage cheese with fruit, or a handful of nuts with a glass of milk. This tops off both your calorie and protein targets for the day.

Using Shakes When Appetite Is the Problem

Many people who struggle to gain weight simply can’t eat enough solid food. Liquid calories are genuinely useful here. Short-term research consistently shows that calories consumed in liquid form are less filling and less likely to cause you to reduce food intake at your next meal compared to the same calories eaten as solid food. That makes shakes an effective strategy for people with small appetites.

A simple high-calorie shake can pack 600 to 1,000 calories into a single drink: blend whole milk or oat milk with a scoop of whey protein, a banana, oats, peanut butter, and a drizzle of honey. Drink it between meals rather than replacing a meal with it, so it adds to your total intake rather than substituting for food you would have eaten anyway.

Timing Your Meals Around Training

Total daily intake matters more than exactly when you eat, but post-workout nutrition does have a measurable effect. Consuming protein and carbohydrates shortly after training speeds up muscle recovery, glycogen replenishment, and fatigue reduction compared to waiting several hours. The traditional “30-minute anabolic window” is probably more like a few hours, but there’s no reason to delay eating after a hard session if you can help it.

A practical approach: eat a balanced meal containing protein and carbs within one to two hours before training, and another within an hour or two after. If you train first thing in the morning on an empty stomach, a post-workout meal becomes more important. If you ate a solid meal an hour before lifting, the urgency drops because those nutrients are still being digested and absorbed.