
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 spotted | Quantity used in the recipes | Purchases rounded up to the nearest pack size | Cost of quantities used | Quantity to purchase |
|---|---|---|---|---|
| Morning Eggs, pack of 30; 50 g edible per egg : 59,50 DH | 800 g | 1 unit(s) in the specified format | 31,73 DH | 59,50 DH |
| Unsalted wholemeal bread, 220 g : 3,50 DH | 1320 g | 6 units in the specified format | 21,00 DH | 21,00 DH |
| Tomatoes, 500 g pack : 2,98 DH | 2375 g | 5 unit(s) in the specified format | 14,90 DH | 14,90 DH |
| Jaouda semi-skimmed milk, 500 ml : 4,95 DH | 3600 ml | 8 units in the specified format | 35,64 DH | 39,60 DH |
| Bananas, 500 g pack; estimated edible yield 67 per cent : 6,48 DH | 1680 g | 6 units in the specified format | 32,50 DH | 38,88 DH |
| An-Naim lentils, 500 g dry pack : 15,95 DH | 1610 g | 2 unit(s) in the specified format | 20,54 DH | 31,90 DH |
| White courgettes, 250 g pack : 2,88 DH | 1825 g | 8 units in the specified format | 22,13 DH | 23,04 DH |
| Al Horra olive oil, 500 ml; estimated density 0.91 g/ml : 23,95 DH | 130 g | 1 unit(s) in the specified format | 6,84 DH | 23,95 DH |
| Chicken fillet, 500 g : 36,95 DH | 600 g | 2 unit(s) in the specified format | 44,34 DH | 73,90 DH |
| Diva long-grain rice, 1 kg dry pack : 21,70 DH | 1590 g | 1 unit(s) in the specified format | 11,50 DH | 21,70 DH |
| Carrefour rolled oats, 500 g : 15,75 DH | 220 g | 1 unit(s) in the specified format | 6,93 DH | 15,75 DH |
| Uncle Sam chickpeas, 500 g dry pack : 18,50 DH | 540 g | 1 unit(s) in the specified format | 7,99 DH | 18,50 DH |
| Tamima tinned sardines in oil, 125 g tin; estimated drained weight 90 g : 7,50 DH | 200 g | 3 unit(s) of the specified format | 16,67 DH | 22,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
| Ingredient | Energy | Protein |
|---|---|---|
| peeled banana | 89 kcal | 1,1 g |
| wholemeal bread, generic value | 252 kcal | 12,4 g |
| raw skinless chicken breast | 120 kcal | 22,5 g |
| cooked and drained chickpeas | 164 kcal | 8,9 g |
| raw courgette | 17 kcal | 1,2 g |
| egg, edible weight (approximately 50 g per egg) | 143 kcal | 12,6 g |
| cooked and drained lentils | 116 kcal | 9,0 g |
| semi-skimmed milk, approximately 1.5 per cent | 46 kcal | 3,3 g |
| dry oat flakes | 379 kcal | 13,2 g |
| olive oil | 884 kcal | 0,0 g |
| cooked rice | 130 kcal | 2,7 g |
| sardines in oil, drained | 208 kcal | 24,6 g |
| raw tomato | 18 kcal | 0,9 g |
Original illustration generated by AI.
