Moussaka with a cauliflower cream topping. 41 g protein and 13 g net carbs at 569 kcal per serving, and one tray makes 4.
By Frixos Dimitriadis · Published November 7, 2026 · Updated November 7, 2026
4 servings · Prep 25 min · Cook 60 min · Total 85 min · Per serving: 569 kcal, 40.5 g protein, 20.9 g carbs, 36.8 g fat
Moussaka is the dish Greek families fight over on a Sunday, and the one most people assume they have to give up on keto. The classic stacks fried aubergine, potatoes and a flour-and-milk béchamel, and the potatoes and flour load every portion with carbs. This version keeps everything that makes moussaka moussaka (the soft aubergine, the cinnamon-scented beef, the golden top) and swaps out the parts that don't fit a low-carb day.
Each of the 4 servings gives 569 kcal, 40.5 g of protein, 36.8 g of fat and 13.1 g of net carbs (20.9 g of total carbs minus 7.8 g of fibre). The numbers come straight from the DietSync app, where every ingredient is weighed in grams.
Three swaps do all the work:
The result tastes like moussaka, slices like moussaka, and fits a keto day.
Most of the energy comes from the 600 g of beef and the cheese in the topping, and that is also where the protein is. The beef gives about 30 g of protein per serving, and the parmesan, cream cheese and egg add the rest. The fat is split between the beef, the olive oil, the cream cheese and the parmesan.
The carbs come almost entirely from vegetables: aubergine, cauliflower, onion and tomato. That is why the fibre is high for a keto dish, 7.8 g per serving, and why the net carbs stay at 13.1 g even though the dish is full of vegetables.
In the DietSync app
The cauliflower cream is the part people worry about, and it has one rule: get the water out. After boiling the cauliflower for 10 minutes, drain it in a colander and let it steam dry for 5 minutes before you blend it. Wet cauliflower makes a runny topping that never browns.
Blend it until completely smooth with the cream cheese, butter, egg and half the parmesan. The egg is what makes it set, so don't skip it. Spread it over the top layer of aubergine, scatter the rest of the parmesan over it and bake at 180°C for 30 minutes, until it is golden at the edges.
Pick firm, glossy aubergines that feel heavy for their size, and slice them about 1 cm thick so they keep their shape. There is no need to salt them first: today's aubergines are rarely bitter, and 20 minutes at 200°C drives off enough water to stop the dish turning soggy. Brushing each slice with oil, instead of pouring it over the tray, is what keeps the oil to 20 g.
Moussaka needs 10 minutes out of the oven before you cut it. The topping firms up, the juices settle back into the meat, and the servings come out clean instead of sliding apart. It is the same rule as the classic, and it matters even more here, because cauliflower holds more water than béchamel.
Moussaka is rich, so it wants something fresh and sharp next to it. A simple salad of rocket, cucumber and tomato with lemon and olive oil adds almost no net carbs, and a spoon of full-fat Greek yoghurt on the side adds a little more protein. Skip the bread and the chips: the serving is filling on its own, and with the potatoes gone there is no reason to bring the carbs back on the side.
Like the classic, keto moussaka is better on day two. Assemble the whole tray the day before, keep it covered in the fridge and bake it straight from the fridge, adding 10 minutes to the time. Once baked, it keeps 3 days in the fridge and freezes well in single servings, so one tray covers four lunches.
At 13.1 g of net carbs, one serving uses about half of a strict 25 g keto day. Keep the rest of the day low: eggs or full-fat Greek yoghurt for breakfast and a salad with protein for lunch, like the meals in our 7-day keto meal plan.
More Greek classics made keto: keto keftedes with tzatziki, beef stifado over cauliflower mash and shrimp saganaki.
The recipe is in the DietSync app, in the Keto Main Meals book. Log it in one tap and the app keeps count of your net carbs, protein and fat for the day.
Let the drained cauliflower steam for 5 minutes before blending. Wet cauliflower gives a runny topping that never browns.
The egg is what makes the topping set. Leave it out and the cauliflower cream slides off when you cut.
Give it the full 10 minutes out of the oven. The topping firms up and the slices come out clean.
13.1 g per serving: 20.9 g of total carbs minus 7.8 g of fibre. Almost all of it comes from vegetables, the aubergine, cauliflower, onion and tomato.
It is close. Blended with cream cheese, butter, egg and parmesan, the cauliflower turns creamy and sets in the oven the way béchamel does. The parmesan on top browns, so you still get the golden crust.
You can, but fried aubergine soaks up far more oil than the 20 g used here, and every extra 10 g of oil adds about 22 kcal to each serving. Roasting gives the same soft layer with much less fat.
Yes. Freeze it in single servings for up to 2 months, thaw it in the fridge overnight and reheat it covered in the oven at 160°C for about 20 minutes.