2500 kcal Lean Bulk Meal Plan

💪 Lean Bulk 💡 Clean bulk 📅 7 days

A controlled caloric surplus to build muscle without unnecessary fat.
Only +200-300 kcal above maintenance - quality over quantity!

🔥
2500
kcal
🍗
180g
protein
🍚
280g
carbs
🥑
72g
fats
💰
~45zł
/day
+250
kcal surplus
2g/kg
protein
~0.25kg
/week gain
✅ This meal plan is for you if:
  • You want to build muscle without gaining excess fat
  • Your TDEE is around 2200-2300 kcal
  • You weigh around 80-95 kg
  • You do strength training 4-5 times a week
  • You prefer slower, but cleaner mass gain
💡 Lean Bulk Principles:

• Carbohydrates focused around your workout (before and after)
• Progressive overload is a priority - no muscles without it
• Monitor your weight: +0.2-0.3 kg/week is the ideal pace
• If the gain is faster - reduce calories by 100 kcal

Day-by-day meal plan

🌅 BREAKFAST
520 kcal

Protein oatmeal with fruit and nuts

Ingredients:
  • 80g rolled oats (~1.60 zł)
  • 250ml 2% milk (~1.00 zł)
  • 30g vanilla WPC protein powder (~2.50 zł)
  • 100g blueberries (~3.50 zł)
  • 15g almonds (~1.20 zł)
  • 5g honey (~0.20 zł)
🍗 38g protein
🍚 58g carbs
🥑 14g fat
⚡ PRE-WORKOUT (1-2h before)
420 kcal

Chicken and rice wrap

Ingredients:
  • 100g chicken breast (cooked) (~2.80 zł)
  • 1 wheat tortilla - 60g (~1.20 zł)
  • 50g white rice (cooked) (~0.30 zł)
  • 50g bell pepper (~0.50 zł)
  • 30g light mozzarella cheese (~1.80 zł)
  • Yogurt sauce, lettuce
🍗 38g protein
🍚 42g carbs
🥑 8g fat
🍽 POST-WORKOUT / LUNCH
720 kcal

Beef steak with sweet potatoes and vegetables

Ingredients:
  • 180g beef steak (ribeye) (~14.00 zł)
  • 200g sweet potato (~2.00 zł)
  • 150g broccoli (~2.00 zł)
  • 100g green beans (~2.00 zł)
  • 10ml olive oil (~0.50 zł)
  • Rosemary, garlic, salt, pepper
🍗 48g protein
🍚 65g carbs
🥑 22g fat
💡 Tip: After a workout, the body utilizes carbohydrates most effectively - it's the perfect time for a larger portion!
🍌 SNACK
340 kcal

Banana oatmeal shake with peanut butter

Ingredients:
  • 200ml 2% milk (~0.80 zł)
  • 1 banana - 120g (~0.70 zł)
  • 20g oats (~0.40 zł)
  • 20g peanut butter (~1.20 zł)
  • 5g honey (~0.20 zł)
🍗 14g protein
🍚 48g carbs
🥑 12g fat
🍲 DINNER
500 kcal

Salmon with bulgur and Greek salad

Ingredients:
  • 130g salmon fillet (~8.50 zł)
  • 60g bulgur (dry) (~0.80 zł)
  • 80g tomato (~0.60 zł)
  • 50g cucumber (~0.40 zł)
  • 30g feta cheese (~2.00 zł)
  • 10ml olive oil (~0.50 zł)
  • Lemon, dill, oregano
🍗 42g protein
🍚 42g carbs
🥑 16g fat
Daily Summary - LEAN BULK
2500
kcal
180g
protein
280g
carbs
72g
fat
💡 Macro split: 29% P / 45% C / 26% F
💪 Surplus: +250 kcal

Days 2–7: the full week

Every day hits the same target: 2500 kcal and about 180 g of protein. Macros are calculated from the ingredients using standard food composition tables (weights refer to dry/raw products), so treat them as estimates — differences of a few percent between brands are normal. The shopping list below covers day 1.

Day 2

— 2477 kcal · 178 g protein · 276 g carbs · 73 g fat
🌅 BREAKFAST
722 kcal 90g carbs

Banana peanut butter oatmeal – A classic source of complex carbs to start the day.

Ingredients:
  • 80 g rolled oats
  • 250 g milk 2%
  • 30 g whey protein (WPC)
  • 120 g banana
  • 15 g peanut butter (100%)
🍗 45g protein
🍚 90g carbs
🥑 20g fat
🍌 PRE-WORKOUT (1-2H BEFORE)
301 kcal 25g carbs

Greek yogurt with blueberries and almonds – Protein, fruit and healthy fats in one bowl.

Ingredients:
  • 205 g Greek yogurt 0%
  • 120 g blueberries
  • 20 g almonds
🍗 26g protein
🍚 25g carbs
🥑 11g fat
🍲 POST-WORKOUT / LUNCH
656 kcal 70g carbs

Wholewheat pasta with turkey in tomato sauce – A lean bolognese made with turkey.

Ingredients:
  • 90 g wholewheat pasta (dry)
  • 155 g turkey breast (raw)
  • 200 g tomato passata
  • 50 g onion
  • 10 g olive oil
  • 10 g parmesan
🍗 54g protein
🍚 70g carbs
🥑 18g fat
🍌 SNACK
286 kcal 39g carbs

Hummus with vegetables and bread – A plant-based snack to crunch on.

Ingredients:
  • 80 g hummus
  • 100 g carrots
  • 100 g red bell pepper
  • 50 g wholegrain rye bread
🍗 11g protein
🍚 39g carbs
🥑 9g fat
🌙 DINNER
512 kcal 52g carbs

Baked chicken with millet and vegetables – A one-tray oven dish.

Ingredients:
  • 145 g chicken breast (raw)
  • 60 g millet (dry)
  • 150 g red bell pepper
  • 150 g zucchini
  • 10 g olive oil
🍗 42g protein
🍚 52g carbs
🥑 15g fat

Day 3

— 2482 kcal · 180 g protein · 278 g carbs · 72 g fat
🌅 BREAKFAST
610 kcal 82g carbs

Millet porridge with apple – Cinnamon millet porridge with protein — filling and easy to digest.

Ingredients:
  • 70 g millet (dry)
  • 255 g milk 2%
  • 155 g apple
  • 25 g whey protein (WPC)
  • 10 g walnuts
  • cinnamon (to taste)
🍗 36g protein
🍚 82g carbs
🥑 15g fat
🍌 PRE-WORKOUT (1-2H BEFORE)
518 kcal 67g carbs

Banana oat shake – A liquid meal you can drink in minutes.

Ingredients:
  • 305 g milk 2%
  • 30 g whey protein (WPC)
  • 120 g banana
  • 40 g rolled oats
🍗 38g protein
🍚 67g carbs
🥑 11g fat
🍲 POST-WORKOUT / LUNCH
600 kcal 62g carbs

Beef with buckwheat and carrot salad – Beef dishes are a good source of iron and zinc.

Ingredients:
  • 145 g lean ground beef 5% (raw)
  • 80 g buckwheat (dry)
  • 100 g carrots
  • 50 g onion
  • 10 g rapeseed oil
  • 50 g mixed salad leaves
🍗 43g protein
🍚 62g carbs
🥑 20g fat
🍌 SNACK
276 kcal 38g carbs

Tuna and cucumber sandwich – Lean fish on rye bread.

Ingredients:
  • 80 g wholegrain rye bread
  • 75 g tuna in brine (drained)
  • 30 g plain yogurt 2%
  • 80 g cucumber
🍗 25g protein
🍚 38g carbs
🥑 3g fat
🌙 DINNER
478 kcal 29g carbs

Spinach, mushroom and mozzarella omelette – A warm supper with vegetables.

Ingredients:
  • 3 eggs (approx. 180 g)
  • 75 g spinach
  • 95 g mushrooms
  • 40 g light mozzarella
  • 60 g wholegrain rye bread
🍗 38g protein
🍚 29g carbs
🥑 23g fat

Day 4

— 2466 kcal · 177 g protein · 275 g carbs · 73 g fat
🌅 BREAKFAST
581 kcal 46g carbs

Breakfast tortilla with egg and turkey ham – A wrapped omelette with vegetables, easy to take with you.

Ingredients:
  • 80 g wholewheat tortilla
  • 2 eggs (approx. 120 g)
  • 60 g turkey ham
  • 115 g red bell pepper
  • 25 g gouda cheese
🍗 41g protein
🍚 46g carbs
🥑 26g fat
🍌 PRE-WORKOUT (1-2H BEFORE)
363 kcal 53g carbs

Rice cakes with quark and jam – Light carbs and protein — good before training.

Ingredients:
  • 45 g rice cakes
  • 145 g fat-free quark
  • 35 g low-sugar jam
🍗 33g protein
🍚 53g carbs
🥑 2g fat
🍲 POST-WORKOUT / LUNCH
708 kcal 85g carbs

Chicken curry with rice and vegetables – A mild curry made with coconut milk.

Ingredients:
  • 155 g chicken breast (raw)
  • 90 g basmati rice (dry)
  • 70 g coconut milk
  • 225 g stir-fry vegetable mix
  • curry powder (to taste)
🍗 49g protein
🍚 85g carbs
🥑 19g fat
🍌 SNACK
327 kcal 47g carbs

Quark with apple and kiwi – A fruity snack with lean dairy.

Ingredients:
  • 145 g fat-free quark
  • 170 g apple
  • 115 g kiwi
  • 10 g honey
🍗 31g protein
🍚 47g carbs
🥑 2g fat
🌙 DINNER
487 kcal 44g carbs

Hard-boiled eggs with avocado and bread – A simple mix of protein and healthy fats.

Ingredients:
  • 2 eggs (approx. 120 g)
  • 70 g avocado
  • 90 g wholegrain rye bread
  • 135 g tomatoes
🍗 23g protein
🍚 44g carbs
🥑 24g fat

Day 5

— 2507 kcal · 179 g protein · 291 g carbs · 71 g fat
🌅 BREAKFAST
592 kcal 80g carbs

Skyr with granola and raspberries – A no-cook bowl — protein, fruit and crunchy granola.

Ingredients:
  • 235 g plain skyr
  • 80 g granola
  • 160 g raspberries
  • 15 g honey
🍗 36g protein
🍚 80g carbs
🥑 14g fat
🍌 PRE-WORKOUT (1-2H BEFORE)
354 kcal 44g carbs

Cottage cheese with tomatoes and bread – A simple snack with casein and vegetables.

Ingredients:
  • 185 g light cottage cheese
  • 200 g tomatoes
  • 80 g wholegrain rye bread
🍗 29g protein
🍚 44g carbs
🥑 7g fat
🍲 POST-WORKOUT / LUNCH
751 kcal 87g carbs

Pork tenderloin with bulgur and vegetables – Lean meat with a low-GI grain.

Ingredients:
  • 150 g pork tenderloin (raw)
  • 110 g bulgur (dry)
  • 200 g red bell pepper
  • 95 g mushrooms
  • 15 g olive oil
🍗 50g protein
🍚 87g carbs
🥑 23g fat
🍌 SNACK
275 kcal 38g carbs

Cocoa skyr with banana – A dessert-like taste with plenty of protein.

Ingredients:
  • 185 g plain skyr
  • 15 g cocoa powder
  • 135 g banana
🍗 25g protein
🍚 38g carbs
🥑 3g fat
🌙 DINNER
535 kcal 42g carbs

Tuna and egg salad with bread – A light no-cook supper.

Ingredients:
  • 95 g tuna in brine (drained)
  • 1 egg (approx. 60 g)
  • 75 g mixed salad leaves
  • 200 g tomatoes
  • 15 g olive oil
  • 80 g wholegrain rye bread
🍗 39g protein
🍚 42g carbs
🥑 24g fat

Day 6

— 2493 kcal · 177 g protein · 283 g carbs · 72 g fat
🌅 BREAKFAST
550 kcal 53g carbs

Scrambled eggs with rye bread and tomatoes – A quick hot breakfast with a complete amino acid profile.

Ingredients:
  • 3 eggs (approx. 180 g)
  • 110 g wholegrain rye bread
  • 165 g tomatoes
  • butter (to taste)
  • chives (to taste)
🍗 31g protein
🍚 53g carbs
🥑 24g fat
🍌 PRE-WORKOUT (1-2H BEFORE)
306 kcal 26g carbs

Greek yogurt with blueberries and almonds – Protein, fruit and healthy fats in one bowl.

Ingredients:
  • 200 g Greek yogurt 0%
  • 135 g blueberries
  • 20 g almonds
🍗 25g protein
🍚 26g carbs
🥑 11g fat
🍲 POST-WORKOUT / LUNCH
543 kcal 66g carbs

Pork loin with potatoes and cucumber salad – A traditional Polish dinner with controlled fat.

Ingredients:
  • 150 g pork loin (raw)
  • 335 g potatoes
  • 165 g cucumber
  • 65 g plain yogurt 2%
🍗 42g protein
🍚 66g carbs
🥑 12g fat
🍌 SNACK
565 kcal 74g carbs

Banana oat shake – A liquid meal you can drink in minutes.

Ingredients:
  • 335 g milk 2%
  • 30 g whey protein (WPC)
  • 135 g banana
  • 45 g rolled oats
🍗 40g protein
🍚 74g carbs
🥑 12g fat
🌙 DINNER
529 kcal 64g carbs

Shrimp pasta with zucchini – A quick 15-minute pan dish.

Ingredients:
  • 150 g shrimp (raw)
  • 80 g wheat pasta (dry)
  • 165 g zucchini
  • 10 g olive oil
  • garlic (to taste)
🍗 39g protein
🍚 64g carbs
🥑 13g fat

Day 7

— 2545 kcal · 183 g protein · 295 g carbs · 69 g fat
🌅 BREAKFAST
685 kcal 63g carbs

Oat omelette with blueberries and skyr – An oat-based omelette served with skyr and fruit.

Ingredients:
  • 3 eggs (approx. 180 g)
  • 115 g egg whites
  • 65 g rolled oats
  • 155 g blueberries
  • 95 g plain skyr
🍗 55g protein
🍚 63g carbs
🥑 23g fat
🍌 PRE-WORKOUT (1-2H BEFORE)
362 kcal 44g carbs

Cottage cheese with tomatoes and bread – A simple snack with casein and vegetables.

Ingredients:
  • 195 g light cottage cheese
  • 195 g tomatoes
  • 80 g wholegrain rye bread
🍗 30g protein
🍚 44g carbs
🥑 7g fat
🍲 POST-WORKOUT / LUNCH
662 kcal 83g carbs

Baked cod with sweet potatoes and zucchini – Lean fish with roasted vegetables.

Ingredients:
  • 195 g cod (raw)
  • 390 g sweet potatoes
  • 195 g zucchini
  • 15 g olive oil
🍗 44g protein
🍚 83g carbs
🥑 17g fat
🍌 SNACK
374 kcal 51g carbs

Hummus with vegetables and bread – A plant-based snack to crunch on.

Ingredients:
  • 105 g hummus
  • 130 g carrots
  • 130 g red bell pepper
  • 65 g wholegrain rye bread
🍗 15g protein
🍚 51g carbs
🥑 12g fat
🌙 DINNER
462 kcal 54g carbs

Turkey and vegetable wrap – A wrap with roast turkey and yogurt sauce.

Ingredients:
  • 90 g wholewheat tortilla
  • 115 g turkey breast (raw)
  • 130 g red bell pepper
  • 40 g mixed salad leaves
  • 65 g plain yogurt 2%
🍗 39g protein
🍚 54g carbs
🥑 10g fat

Shopping list and estimated cost

🥩 Meat & Fish

  • Beef steak (ribeye) 1.3 kg (~100 zł)
  • Chicken breast 700g (~20 zł)
  • Salmon fillet 900g (~60 zł)
  • Large eggs (for breakfast) 10 pcs (~7 zł)

🧀 Dairy & Supplements

  • 2% Milk 3 L (~12 zł)
  • Vanilla WPC protein 500g (~50 zł)
  • Light mozzarella 250g (~12 zł)
  • Feta cheese 200g (~14 zł)

💡 Carbohydrates

  • Rolled oats 700g (~6 zł)
  • Sweet potatoes 1.5 kg (~15 zł)
  • Bulgur wheat 500g (~8 zł)
  • White rice 500g (~4 zł)
  • Flour tortillas 7 pcs (~10 zł)

🥦 Vegetables & Fruits

  • Broccoli 1 kg (~14 zł)
  • Blueberries 700g (~25 zł)
  • Bananas 1 kg (~6 zł)
  • Green beans 700g (~14 zł)
  • Peppers, tomatoes, cucumbers (~15 zł)

🥜 Fats & Other

  • Olive oil 150ml (~8 zł)
  • Peanut butter 200g (~12 zł)
  • Almonds 150g (~12 zł)
  • Honey 100g (~6 zł)

💰 Estimated Cost

~315 zł
for 7 days (~45 zł/day)
* Estimated prices, 2025
* The beef steak increases the cost - it can be swapped for ground beef

Who this meal plan is for

This meal plan is structured for individuals aiming to build muscle mass with minimal fat gain, a process often called a "lean bulk." The daily total of 2500 kcal is designed to create a small caloric surplus of 200–300 kcal for a person whose daily energy expenditure is approximately 2200–2300 kcal.

This typically corresponds to an individual weighing between 75–85 kg with a moderate activity level, such as someone who engages in strength training 3–5 times per week. The plan provides a framework for controlled weight gain focused on lean tissue accretion. To determine if this caloric target is appropriate for your specific body weight, height, age, and activity level, we recommend first calculating your own maintenance needs using our TDEE Calculator.

Where this macronutrient split comes from

The nutritional composition of this plan is based on established macronutrient ratios for supporting muscle hypertrophy and athletic performance. The total energy content is derived directly from the macronutrients provided:

  • Protein: 180 g x 4 kcal/g = 720 kcal
  • Carbohydrates: 280 g x 4 kcal/g = 1120 kcal
  • Fat: 72 g x 9 kcal/g = 648 kcal
  • Total: 720 + 1120 + 648 = 2488 kcal

The protein target of 180 grams aligns with common recommendations for individuals engaged in resistance training, falling within the range of 1.6–2.2 grams per kilogram of body weight. For an 85 kg person, this equates to approximately 2.1 g/kg. The remaining calories are allocated to carbohydrates to fuel high-intensity training and replenish glycogen stores, and to fats, which are essential for hormone production. This distribution represents approximately 29% of calories from protein, 45% from carbohydrates, and 26% from fat.

How to adapt this plan to yourself

This 2500 kcal plan serves as a template. Your individual caloric needs for a lean bulk may be higher or lower. If your calculated target is different, you can scale the entire plan up or down. The most straightforward method is to use a multiplier. For example, if your daily goal is 2800 kcal, you would multiply the quantity of every ingredient in the plan by a factor of 1.12 (2800 ÷ 2500).

For more precise adjustments, you might want to alter specific macronutrients. A common approach is to keep the protein intake constant (based on your body weight) and adjust the amounts of carbohydrates and fats to meet your new calorie target. For instance, to add 300 kcal, you could add 50g of carbohydrates (200 kcal) and about 11g of fat (99 kcal). You can determine your ideal macronutrient split for any calorie goal with our Macronutrient Calculator.

Substitutions and common questions

While consistency is valuable, variety is important for adherence and micronutrient intake. You can substitute foods within the plan, provided you account for their macronutrient profiles. Here are some common guidelines:

  • Protein sources: Chicken breast can be swapped for turkey breast, lean beef, or white fish. When substituting, aim to match the protein content. For example, 100g of chicken breast is not equivalent to 100g of salmon, as salmon contains significantly more fat.
  • Carbohydrate sources: Rice, pasta, potatoes, and oats can be used interchangeably. Remember to measure these items by their dry weight, as their cooked weight varies depending on water absorption.
  • Fat sources: Olive oil, nuts, seeds, and avocado are all excellent fat sources. Pay close attention to portion sizes, as fats are very calorie-dense (9 kcal per gram).
  • Can I change the meal timing? Yes. The total daily intake of calories and macronutrients is more significant than the specific timing of meals for most individuals. You can rearrange meals to fit your schedule.
  • What about vegetables? Most non-starchy green vegetables (like broccoli, spinach, cucumber, and lettuce) have a negligible calorie content and can be added or swapped freely to increase food volume and micronutrient intake.

Related resources

See also