Hardgainer Eating Strategy

A common frustration for lifelong endurance athletes: 20 years of running have welded the body to ~64 kg, and no matter how much you eat — chicken, eggs, yogurt, tuna, protein shakes, nuts — the weight refuses to budge. Three months of stuffing yourself with clean food produces a 1 kg gain that disappears in two weeks.

This is the hardgainer phenotype. The body’s directive for two decades has been “stay as light as possible so we don’t waste energy when we run.” Building muscle requires fighting that directive deliberately.

Three biological roadblocks explain why “eating like crazy” doesn’t work, and a small set of food rules works around all of them.

Roadblock 1 — Clean food has high satiety and high TEF

The list of foods most lean runners reach for when trying to gain (chicken, eggs, tuna, yogurt, berries, vegetables) is the same list bodybuilders eat when they’re trying to lose weight.

A “huge” meal of chicken, broccoli, and a yogurt feels stuffing but is net under 600 kcal — under maintenance for an active 64 kg endurance athlete.

Roadblock 2 — NEAT auto-burns the surplus

Non-Exercise Activity Thermogenesis (NEAT) is everything you burn outside formal exercise: fidgeting, posture changes, walking around, slightly hotter core body temperature.

Hardgainers have high NEAT response to overeating. When you overfeed, the nervous system automatically ramps up:

You burn the surplus without realising it. Lean ultra-runners with high baseline NEAT can burn 300–600 extra kcal/day involuntarily after a big meal.

Roadblock 3 — Intuitive eating averages out

Tracking food is tedious and inaccurate, but it reveals a pattern: hardgainers who “eat like crazy” tend to gorge for 2 days, feel bloated, and subconsciously undereat for the next 3–4 days because appetite is suppressed. Across the week, calories average to maintenance.

The fix is consistent small surplus, not occasional huge meals.

The protocol — caloric density over volume

You cannot win this fight using chicken and broccoli. Switch the strategy:

1. Exploit liquid calories

Liquid calories don’t register on the satiety system the way solid food does. A 1000-kcal smoothie feels like nothing; a 1000-kcal plate of grilled chicken feels like a binge.

The high-calorie shake — ~800 kcal in 2 minutes:

Ingredient Quantity Calories
Whole milk 300 ml 200
Whey protein (1 scoop) 30 g 120
Peanut butter 2 tbsp (32 g) 200
Banana 1 medium 105
Rolled oats 40 g 150
Honey 1 tbsp 60
Total ~835 kcal

Blend, drink in two minutes. Have this once daily — typically as a second breakfast or post-workout. This alone will close the 300-kcal surplus gap most days.

Substitutions that work:

2. Prioritise fats

Macronutrient calorie density:

Doubling calories on a plate is easier through fat than through volume. Specific swaps:

A single tablespoon of olive oil drizzled on a meal adds 120 kcal without changing the plate visually.

3. The 300-calorie rule

You don’t need to gain 5 kg in a month. The math:

A 300-kcal surplus is one extra peanut butter sandwich, or the shake above, or an extra handful of nuts plus olive oil on the salad. It is genuinely small.

The boiling-frog version: add 300 kcal/day on top of current intake for a month, observe weight trend, adjust.

The “feel slow on runs” worry

Endurance athletes correctly worry that gaining weight will make running harder. The realistic answer:

The exception is if you try to gain 3 kg in a month. Avoid that. Slow is the entire point.

Also worth remembering: muscle is not dead weight. Building stronger glutes and hamstrings improves running economy. Many runners actually find they run faster after gaining 3–4 kg of functional muscle, because each stride becomes more powerful.

How much protein, specifically

The standard 0.8 g/kg RDA is for sedentary adults. For an active 40+ adult:

Most lean ultra-runners actually consume 50–80 g/day without realising. The protein shake above contributes ~30 g; the rest comes from meat, eggs, dairy, legumes, fish.

Frequency matters. Muscle protein synthesis is sensitive to spacing past 40. Better to hit 30–40 g per meal at four meals than to load 100 g at dinner. Each meal needs roughly 30 g to clear the leucine threshold and trigger MPS.

A simple distribution:

Meal Protein (g) Source
Breakfast 30–35 3 eggs + Greek yogurt or paneer
Lunch 35–40 Chicken thigh / fish / lentils + rice
Shake 25–30 The high-calorie shake above
Dinner 35–40 Salmon / paneer curry / beef / tofu + grains
Total ~120 g

Tracking, briefly

Tracking every gram is painful and inaccurate. A reasonable middle ground:

See also