Enough protein on a budget: a week of meal plans in Morocco — original illustration

Enough protein on a budget: a week of meal plans in Morocco

Article updated on 6 September 2026.

Eating enough protein doesn’t mean you have to include meat in every meal or buy whey protein all the time. Eggs, milk, lentils, chickpeas, sardines and a little chicken are enough to put together a varied weekly menu with just a few shopping trips.

This week’s plan is an example for a healthy, active adult; it is not a prescription for calories or protein. Requirements depend, amongst other things, on body size, activity level and medical circumstances. Portions may be adjusted according to appetite. If you have kidney disease or specific medical nutritional requirements, please seek appropriate advice.

Guidelines for reading

The weights of rice and pulses are based on cooked and drained weights; chicken is weighed raw, sardines after draining, and bananas without their skins. One egg represents approximately 50 g of edible portion. Oil is included. Water, small pinches of spices and unsweetened tea do not add significant calories to this calculation; sugar, sauces and other additions must be counted separately.

Seven full days

Day 1

  • Breakfast — Bread, eggs and tomato: 100 g of egg, edible weight (approximately 50 g per egg); 100 g of wholemeal bread, generic value; 150 g of raw tomato; 250 ml of semi-skimmed milk, approximate 1.5 per cent; 120 g of peeled banana.
  • Lunch — Simmered lentils and bread: 250 g of cooked and drained lentils; 100 g of wholemeal bread (generic value); 125 g of raw tomato; 125 g of raw courgette; 10 g of olive oil.
  • Dinner — Cumin chicken, rice and courgette: 150 g of raw, skinless chicken breast; 220 g of cooked rice; 200 g of raw courgette; 100 g of raw tomato; 10 g of olive oil.
  • Snack — Snack to be eaten as and when you feel hungry: 250 ml of semi-skimmed milk, approximately 1.5 per cent fat; 120 g of peeled banana; 40 g of wholemeal bread, generic value.

Estimated total: 2247 kcal and 131.2 g of protein.

Day 2

  • Breakfast — Banana porridge and eggs: 70 g of dry oat flakes; 250 ml of semi-skimmed milk, approximately 1.5 per cent fat; 120 g of peeled banana; 100 g of egg, edible weight (approximately 50 g per egg).
  • Lunch — Chickpea salad and two eggs: 180 g of cooked and drained chickpeas; 100 g of egg, edible weight (approximately 50 g per egg); 70 g of wholemeal bread, generic value; 200 g of raw tomato; 10 g of olive oil.
  • Dinner — Sardines, rice and tomatoes: 100 g of sardines in oil, drained; 250 g of cooked rice; 200 g of raw tomato; 100 g of raw courgette; 5 g of olive oil.
  • Snack — Snack to be eaten as and when you feel hungry: 250 ml of semi-skimmed milk, approximately 1.5 per cent fat; 120 g of peeled banana; 40 g of wholemeal bread, generic value.

Estimated total: 2322 kcal and 119.3 g of protein.

Day 3

  • Breakfast — Toast and a large bowl of oat milk: 80 g of wholemeal bread, generic value; 40 g of dry oat flakes; 300 ml of semi-skimmed milk, approximately 1.5 per cent; 120 g of peeled banana.
  • Lunch — Rice, lentils and vegetables: 250 g of cooked rice; 250 g of cooked and drained lentils; 125 g of raw tomato; 125 g of raw courgette; 10 g of olive oil.
  • Dinner — Chicken, lentils and bread: 150 g of raw, skinless chicken breast; 180 g of cooked and drained lentils; 70 g of wholemeal bread (generic value); 200 g of raw courgette; 100 g of raw tomato; 10 g of olive oil.
  • Snack — Snack to be eaten as and when you feel hungry: 250 ml of semi-skimmed milk, approximately 1.5 per cent fat; 120 g of peeled banana; 40 g of wholemeal bread, generic value.

Estimated total: 2373 kcal and 135.0 g of protein.

Day 4

  • Breakfast — Bread, eggs and tomato: 100 g of egg, edible weight (approximately 50 g per egg); 100 g of wholemeal bread, generic value; 150 g of raw tomato; 250 ml of semi-skimmed milk, approximate 1.5 per cent; 120 g of peeled banana.
  • Lunch — Simmered lentils and bread: 250 g of cooked and drained lentils; 100 g of wholemeal bread (generic value); 125 g of raw tomato; 125 g of raw courgette; 10 g of olive oil.
  • Dinner — Chickpea omelette: 100 g of egg, edible weight (approximately 50 g per egg); 180 g of cooked and drained chickpeas; 150 g of cooked rice; 200 g of raw courgette; 100 g of raw tomato; 10 g of olive oil.
  • Snack — Snack to be eaten as and when you feel hungry: 250 ml of semi-skimmed milk, approximately 1.5 per cent fat; 120 g of peeled banana; 40 g of wholemeal bread, generic value.

Estimated total: 2414 kcal and 124.1 g of protein.

Day 5

  • Breakfast — Banana porridge and eggs: 70 g of dry oat flakes; 250 ml of semi-skimmed milk, approximately 1.5 per cent fat; 120 g of peeled banana; 100 g of egg, edible weight (approximately 50 g per egg).
  • Lunch — Rice, lentils and vegetables: 250 g of cooked rice; 250 g of cooked and drained lentils; 125 g of raw tomato; 125 g of raw courgette; 10 g of olive oil.
  • Dinner — Cumin chicken, rice and courgette: 150 g of raw, skinless chicken breast; 220 g of cooked rice; 200 g of raw courgette; 100 g of raw tomato; 10 g of olive oil.
  • Snack — Snack to be eaten as and when you feel hungry: 250 ml of semi-skimmed milk, approximately 1.5 per cent fat; 120 g of peeled banana; 40 g of wholemeal bread, generic value.

Estimated total: 2306 kcal and 120.9 g of protein.

Day 6

  • Breakfast — Toast and a large bowl of oat milk: 80 g of wholemeal bread, generic value; 40 g of dry oat flakes; 300 ml of semi-skimmed milk, approximately 1.5 per cent; 120 g of peeled banana.
  • Lunch — Chickpea salad and two eggs: 180 g of cooked and drained chickpeas; 100 g of egg, edible weight (approximately 50 g per egg); 70 g of wholemeal bread, generic value; 200 g of raw tomato; 10 g of olive oil.
  • Dinner — Sardines, rice and tomatoes: 100 g of sardines in oil, drained; 250 g of cooked rice; 200 g of raw tomato; 100 g of raw courgette; 5 g of olive oil.
  • Snack — Snack to be eaten as and when you feel hungry: 250 ml of semi-skimmed milk, approximately 1.5 per cent fat; 120 g of peeled banana; 40 g of wholemeal bread, generic value.

Estimated total: 2290 kcal and 114.5 g of protein.

Day 7

  • Breakfast — Bread, eggs and tomato: 100 g of egg, edible weight (approximately 50 g per egg); 100 g of wholemeal bread, generic value; 150 g of raw tomato; 250 ml of semi-skimmed milk, approximate 1.5 per cent; 120 g of peeled banana.
  • Lunch — Simmered lentils and bread: 250 g of cooked and drained lentils; 100 g of wholemeal bread (generic value); 125 g of raw tomato; 125 g of raw courgette; 10 g of olive oil.
  • Dinner — Chicken, lentils and bread: 150 g of raw, skinless chicken breast; 180 g of cooked and drained lentils; 70 g of wholemeal bread (generic value); 200 g of raw courgette; 100 g of raw tomato; 10 g of olive oil.
  • Snack — Snack to be eaten as and when you feel hungry: 250 ml of semi-skimmed milk, approximately 1.5 per cent fat; 120 g of peeled banana; 40 g of wholemeal bread, generic value.

Estimated total: 2346 kcal and 150.2 g of protein.

Prepare these meals without having to make lots of different recipes

Cook the dried pulses according to the instructions on the packet, after soaking where necessary. Simmer the lentils with the tomatoes, courgettes, cumin and some of the oil provided. For salads, allow them to cool quickly before mixing with the other ingredients. A portion of cooked rice completes the bowls; the omelettes use the eggs provided in the menu.

Cook the chicken in small pieces with the vegetables until the core temperature reaches 74 °C. Quickly chill the prepared portions in shallow containers and freeze those intended for the weekend. Do not store all the dishes in the fridge for seven days. Source: food storage.

If you don’t usually eat many pulses, start by reducing your portions and gradually increase them depending on how well you tolerate them. Higher quantities on certain days do not constitute a mandatory fibre target. Vary your choice of seasonal fruit and vegetables over the course of the weeks, adjusting your shopping accordingly.

The shopping list and detailed budget

The prices below are indicative figures taken from the Bringo/Carrefour public catalogues accessed on 6 September 2026. They are sourced from various departments and store formats: this table is neither a price list for a single store nor a guarantee of availability at your address. The links allow you to view each price. The cost is calculated based on explicit efficiency assumptions and excludes delivery charges.

Product and price spottedQuantity used in the recipesPurchases rounded up to the nearest pack sizeCost of quantities usedQuantity to purchase
Morning Eggs, pack of 30; 50 g edible per egg : 59,50 DH800 g1 unit(s) in the specified format31,73 DH59,50 DH
Unsalted wholemeal bread, 220 g : 3,50 DH1320 g6 units in the specified format21,00 DH21,00 DH
Tomatoes, 500 g pack : 2,98 DH2375 g5 unit(s) in the specified format14,90 DH14,90 DH
Jaouda semi-skimmed milk, 500 ml : 4,95 DH3600 ml8 units in the specified format35,64 DH39,60 DH
Bananas, 500 g pack; estimated edible yield 67 per cent : 6,48 DH1680 g6 units in the specified format32,50 DH38,88 DH
An-Naim lentils, 500 g dry pack : 15,95 DH1610 g2 unit(s) in the specified format20,54 DH31,90 DH
White courgettes, 250 g pack : 2,88 DH1825 g8 units in the specified format22,13 DH23,04 DH
Al Horra olive oil, 500 ml; estimated density 0.91 g/ml : 23,95 DH130 g1 unit(s) in the specified format6,84 DH23,95 DH
Chicken fillet, 500 g : 36,95 DH600 g2 unit(s) in the specified format44,34 DH73,90 DH
Diva long-grain rice, 1 kg dry pack : 21,70 DH1590 g1 unit(s) in the specified format11,50 DH21,70 DH
Carrefour rolled oats, 500 g : 15,75 DH220 g1 unit(s) in the specified format6,93 DH15,75 DH
Uncle Sam chickpeas, 500 g dry pack : 18,50 DH540 g1 unit(s) in the specified format7,99 DH18,50 DH
Tamima tinned sardines in oil, 125 g tin; estimated drained weight 90 g : 7,50 DH200 g3 unit(s) of the specified format16,67 DH22,50 DH

Total cost of food used: approximately 272.72 DH for the week, or 38.96 DH per day. If the cupboard is empty and all the items listed have been purchased, the total comes to 405.12 DH. There will still be some oil, rice or dry goods left over for other meals.

The increase in weight from dry to cooked is estimated at 2.5 times for lentils and chickpeas, and 3 times for rice. These yields vary depending on the cooking method. The budget allows for 5 per cent trimmings for tomatoes and courgettes, 33 per cent peel for bananas and approximately 90 g of drained sardines per 125 g tin: check the actual drained weight. Condiments already in the cupboard, water, tea, gas and delivery charges are not included in the total. A change in price or yield will therefore alter the final amount.

With or without whey: decide based on actual use

No powders are included in this week’s totals. If you’re already using whey protein for its convenience, check the protein content per serving and compare the cost of that serving, rather than the price of the tub alone. It can replace an item on your menu if it meets a need; automatically adding it to meals that are already sufficient won’t help you stick to your budget.

The usual alternatives remain valid: a dairy product, eggs or a suitable portion of pulses. These also provide other nutrients and do not all have the same cost or composition. Allergens present in this menu: eggs, milk, wheat and fish.

For a change: Seven Moroccan breakfasts, Seven quick dinners and The eight-week weight training programme.

How nutritional values are calculated

The nutritional values are estimates calculated by adding up the ingredients, based on generic foods from USDA FoodData Central, SR Legacy 2018, accessed on 6 September 2026. These are not laboratory analyses of these recipes. The nutritional values for 1.5% milk are estimated based on the average of the values for 1% and 2% milk; 1 ml is treated as 1 g for this calculation. A Moroccan bread, a yoghurt or a tinned food may have a different composition: the label on your product takes precedence. The oils listed are included; additions and substitutions require a new calculation.

See the reference values per 100 g
IngredientEnergyProtein
peeled banana89 kcal1,1 g
wholemeal bread, generic value252 kcal12,4 g
raw skinless chicken breast120 kcal22,5 g
cooked and drained chickpeas164 kcal8,9 g
raw courgette17 kcal1,2 g
egg, edible weight (approximately 50 g per egg)143 kcal12,6 g
cooked and drained lentils116 kcal9,0 g
semi-skimmed milk, approximately 1.5 per cent46 kcal3,3 g
dry oat flakes379 kcal13,2 g
olive oil884 kcal0,0 g
cooked rice130 kcal2,7 g
sardines in oil, drained208 kcal24,6 g
raw tomato18 kcal0,9 g

Original illustration generated by AI.