← All posts
NutritionOctober 14, 2026 · 8 min read

Push Pull Legs Meal Plan: How to Match Macros to Your Split

If you're running Push/Pull/Legs and eating the same thing every day, you're leaving easy recovery on the table. Your leg day burns more than your pull day. Your rest day burns less than both. A static meal plan doesn't know that. A training-day-aware one does.

Here's the actual structure — what changes on each day, what doesn't, what a sample day of eating looks like for each day type, and the rule of thumb if you don't want to count macros forever.

What changes on a PPL split (and what doesn't)

Three macros: protein, carbs, fat. On PPL, two of them change day-to-day, one of them doesn't.

Protein stays roughly constant. Whether you push, pull, leg, or rest, your muscles need the same building blocks. The exact number shifts with your body weight and training age, but it does not shift with the day.

Carbs swing the most. Heavy sessions deplete glycogen. Light sessions don't. So carbs should be high on leg day, moderate on push and pull, low on rest.

Fat fills the gap. When carbs drop, fat picks up the calories. So fat is roughly inverse to carbs on a PPL week.

Calories shift slightly. Training days need a small bump (150-300 cal) to support the session and recovery. Rest days can be lower. The weekly total stays roughly the same — you're just redistributing.

The carbs rule, with numbers

Take an 80 kg lifter maintaining weight. Weekly target: ~2,800 cal, 160g protein, 300g carbs, 90g fat (rough).

On PPL with one rest day, the carb split might look like:

  • Push day: 320g carbs (moderate)
  • Pull day: 320g carbs (moderate)
  • Leg day: 380g carbs (high)
  • Rest day: 180g carbs (low)

Same total weekly carbs (1,200g) — just redistributed. Leg day gets the extra fuel for the squat and deadlift work. Rest day gets less because there's no glycogen demand.

The numbers shift with your size and training volume. Smaller lifters scale down; bigger lifters scale up. But theshape of the week stays the same.

Sample day: Push

Push day: bench, overhead press, accessories. Moderate carbs, high protein, moderate fat.

A typical day at 2,800 cal with 320g carbs:

  • Breakfast: 4 eggs, 2 slices whole-grain toast, 1 banana, black coffee (~40g protein, 80g carbs, 25g fat)
  • Snack: Greek yogurt with berries (~20g protein, 30g carbs, 5g fat)
  • Lunch: chicken breast, rice, vegetables, olive oil (~50g protein, 100g carbs, 20g fat)
  • Pre-workout (60-90 min before): rice cake with honey, small apple (~10g carbs)
  • Post-workout: whey protein shake with milk (~35g protein, 30g carbs, 5g fat)
  • Dinner: salmon, sweet potato, salad (~40g protein, 80g carbs, 20g fat)

Total: ~195g protein, 320g carbs, 75g fat, ~2,720 cal. Glycogen topped off for tomorrow's pull session.

Sample day: Pull

Pull day: deadlift, rows, pull-ups, biceps. Same moderate carbs as push — the volume is high but you're not squatting.

The day looks nearly identical to push. Same breakfast, same lunch protein, same dinner structure. The difference: more total food before the session if you're a heavy deadlifter, since deadlifts deplete more glycogen than a typical push session.

If you're running a 5-rep deadlift program with 80-90% loads, bump carbs by 20-30g that day. If you're doing hypertrophy pull (3x10 rows, pull-ups, curls), no bump needed.

Sample day: Legs

Leg day: squat, Romanian deadlift, leg press, leg curls. High carbs, high protein, moderate fat.

The day is the same template, with carbs and calories bumped:

  • Breakfast: 4 eggs, oats with banana and honey, coffee (~40g protein, 100g carbs, 25g fat)
  • Snack: cottage cheese with pineapple (~25g protein, 40g carbs, 5g fat)
  • Lunch: ground beef, white rice, vegetables (~50g protein, 120g carbs, 25g fat)
  • Pre-workout (2-3 hours before): bagel with peanut butter (~15g protein, 60g carbs, 15g fat)
  • Post-workout: whey protein, dextrose or fruit (~35g protein, 50g carbs)
  • Dinner: chicken thighs, pasta, vegetables (~45g protein, 100g carbs, 25g fat)

Total: ~210g protein, 470g carbs, 95g fat, ~3,200 cal. The extra ~400 cal vs a push day goes to glycogen for the next heavy session.

Sample day: Rest

Rest day: no training, or light cardio/mobility. Low carbs, high protein, higher fat.

  • Breakfast: 3 eggs, avocado on toast, coffee (~25g protein, 30g carbs, 30g fat)
  • Snack: protein shake with whole milk (~35g protein, 15g carbs, 10g fat)
  • Lunch: tuna salad on greens, olive oil, nuts (~40g protein, 20g carbs, 30g fat)
  • Dinner: chicken, roasted vegetables, sweet potato (small) (~50g protein, 60g carbs, 25g fat)

Total: ~150g protein, 125g carbs, 95g fat, ~2,000 cal. The protein stays the same (muscles don't stop recovering on rest days). Carbs drop because there's no session to fuel. Fat picks up the calorie slack.

The 800-cal difference between rest and leg day is mostly carbs. That's the entire principle.

Protein: the constant

On every day above, protein was 150-210g for an 80 kg lifter. That works out to ~1.9-2.6g per kg of bodyweight — the range supported by the research for muscle growth.

The day-to-day number doesn't shift much because muscle protein synthesis runs on a 24-48 hour cycle, not a per-session cycle. Skipping protein on rest days is a missed recovery opportunity. Eating 200g+ daily keeps the cycle fed.

If you're going to over-eat one macro on rest day, eat more protein. If you're going to under-eat one, eat fewer carbs. Don't touch the protein number.

The rule of thumb if you won't count macros forever

Most people don't want to weigh chicken forever. Here's the version that works without tracking:

  1. Eat a palm-sized protein source at every meal (4-5 meals). For an 80 kg lifter, that's 4-5 × 30-40g protein = 120-200g daily. The exact number is forgiving — the consistency is what matters.
  2. Eat a fist-sized carb source at every meal on training days. Rice, potatoes, oats, pasta, fruit. On rest days, drop one of those fist-sized servings.
  3. Eat a thumb-sized fat source at 2-3 meals. Olive oil, butter, nuts, avocado. Don't fear it; fat is dense and satisfying.
  4. One bigger meal on leg day. Whatever you normally eat, add one extra fist of carbs. Bagel, rice bowl, pasta serving. That's the leg-day fuel bump.

This is roughly the same macros as the tracked version, give or take 20%. It works because the heuristic captures the shape of the week even if it misses the exact numbers.

Bottom line

PPL doesn't need a complicated meal plan. It needs three things: protein constant, carbs high on heavy days, slight calorie bump on training days. The rest of the macro split fills itself in.

A meal plan that knows your training split does the math for you. Push day moderate carbs. Pull day moderate carbs. Leg day high carbs. Rest day low. Same protein every day. Calories track the session intensity.

The boring version works. Tracking every gram is for the first 4-6 weeks until you internalize the pattern. After that, the palm/fist/thumb heuristic is enough.

If you want the full carb-cycling framework with the math behind it (constant protein, the case against IIFYM-without-cycling, why a leg day burns more than a rest day), see How to align your meal plan to your training intensity.

If you're still figuring out the training side (what's a PPL split, when to add weight, how to avoid the common beginner injuries), start with The beginner's guide to progressive overload.

If you're running PPL on Hevy and want a workout + nutrition app that does both (rather than two apps and a nightly cross-reference), see The best Hevy alternative in 2026. FitForge's 7-day cycle has training-day-aware macros built in — high carb on leg day, lower on rest, constant protein — so you don't have to track both apps and reconcile. Free.


Try it: FitForge comes with a 7-day meal plan that does the carb cycling for you. Free, no credit card.