Keto Greek Beef and Cheese Casserole
- Ready in 1h 15m
- 7 g net carbs
- 606 kcal
- Serves 8
This post may contain affiliate links, see our disclaimer.

I love Mediterranean dishes. In fact, I devoted a whole book to Mediterranean cooking, the keto way!
This baked dish is inspired by Moussaka, one of the most beloved Greek recipes. But unlike the classic version which uses potatoes and eggplant, this one is using just one ingredient — cauliflower. I simplified the dish by creating three layers rather than multiple layers you'd usually see in a classic Moussaka.
The beef base is flavored with spices, herbs, tomatoes and red wine. I suggest you don't skip the wine as that is what gives it the ultimate umami. If you're avoiding alcohol, there will be very little left anyway as cooking and baking will remove 80 to 90% of it.
Then we've got kefalotyri cheese. Again, I recommend you don't substitute the cheese but if you have to, grated parmesan or grated Greek talagani or halloumi will work well too.
The top layer consists of cauliflower florets cut into small pieces and covered in creamy cheese béchamel sauce delicately flavored with nutmeg and bay leaf.
This low-carb casserole is perfect for meal prep and batch cooking. It freezes well and will make a satisfying keto lunch or dinner option. To reheat, pop in the oven or microwave for a few minutes and you are good to go. If frozen, let it defrost in the fridge overnight. Enjoy!
Step-by-step
Prepare the beef filling. Dice the onion, mince the garlic, and chop the celery.

Heat a large pan greased with ghee or olive oil over a medium-high heat. Add the onion and cook until fragrant, for about 5 minutes. Add the garlic and celery. Cook for 3 to 5 minutes, stirring occasionally.
Add the beef and break into small pieces using a spatula. Cook until opaque and lightly browned, for about 10 minutes.

Add the cinnamon, cloves, oregano, bay leaves, tomatoes, salt, pepper and dry red wine. Bring to a simmer and cook for another 8 to 10 minutes. When done, set aside. Remove the bay leaves just before it's ready to assemble.

While the beef is cooking, cut the cauliflower in small florets. Place in a steamer pot and cook until tender, for 8 to 12 minutes. Remove the lid and let the steam escape. Set aside.

To make the béchamel cheese topping, place the heavy whipping cream in a saucepan. Add egg yolks, nutmeg, bay leaf and a pinch of salt. Whisk until fully combine and then gently heat up while stirring to prevent the yolks from curdling. Once the mixture is hot and starts to thicken, add the grated cheese and stir in. Cover with a lid and set aside for 10 minutes to let the bay leaf infuse the béchamel. (Note: if it does curdle, use a stick blender to make it smooth again.)

When ready to assemble, preheat the oven to 170 °C/ 340 °F (fan assisted), or 190 °C/ 375 °F (conventional). To the bottom of a large deep casserole dish add the prepared beef.

Top with half of the grated Greek kefalotyri cheese (or use parmesan cheese).

Add the cooked cauliflower florets. If they are too big, chop to smaller pieces.

Remove the bay leaf from the béchamel sauce and evenly pour the sauce over the cauliflower. Top with the remaining kefalotyri cheese (or parmesan cheese).
Place in the oven and bake for about 30 minutes, rotating the dish halfway to ensure even browning.

When done, remove from the oven and let it cool down for a few minutes before serving.

Eat warm. This casserole can be stored in the fridge for up to 4 days, or frozen for up to 3 months.


Recipe
Keto Greek Beef and Cheese Casserole
★★★★★4.6A hearty Mediterranean-inspired meal made with ground beef cooked in rich tomato sauce and topped with ...
- Hands on
- 30m
- Overall
- 1h 15m
- Servings
- 8
- 7 g
- Net carbs
- 31.4 g
- Protein
- 47.3 g
- Fat
- 606
- kcal
Ingredients makes 8 servings
- Beef filling:
- Topping:
Instructions
Prepare the beef filling. Dice the onion, mince the garlic, and chop the celery.
Heat a large pan greased with ghee or olive oil over a medium-high heat. Add the onion and cook until fragrant, for about 5 minutes. Add the garlic and celery. Cook for 3 to 5 minutes, stirring occasionally.
Add the beef and break into small pieces using a spatula. Cook until opaque and lightly browned, for about 10 minutes.
Add the cinnamon, cloves, oregano, bay leaves, tomatoes, salt, pepper and dry red wine. Bring to a simmer and cook for another 8 to 10 minutes. When done, set aside. Remove the bay leaves just before it's ready to assemble.
While the beef is cooking, cut the cauliflower in small florets. Place in a steamer pot and cook until tender, for 8 to 12 minutes. Remove the lid and let the steam escape. Set aside.
To make the béchamel cheese topping, place the heavy whipping cream in a saucepan. Add egg yolks, nutmeg, bay leaf and a pinch of salt. Whisk until fully combine and then gently heat up while stirring to prevent the yolks from curdling. Once the mixture is hot and starts to thicken, add the grated cheese and stir in. Cover with a lid and set aside for 10 minutes to let the bay leaf infuse the béchamel. (Note: if it does curdle, use a stick blender to make it smooth again.)
When ready to assemble, preheat the oven to 170 °C/ 340 °F (fan assisted), or 190 °C/ 375 °F (conventional). To the bottom of a large deep casserole dish add the prepared beef.
Top with half of the grated Greek kefalotyri cheese (or use parmesan cheese).
Add the cooked cauliflower florets. If they are too big, chop to smaller pieces.
Remove the bay leaf from the béchamel sauce and evenly pour the sauce over the cauliflower. Top with the remaining kefalotyri cheese (or parmesan cheese).
Place in the oven and bake for about 30 minutes, rotating the dish halfway to ensure even browning.
When done, remove from the oven and let it cool down for a few minutes before serving.
Eat warm. This casserole can be stored in the fridge for up to 4 days, or frozen for up to 3 months.
Nutrition per serving, about 280 g/ 10 oz
Carbs 5%Protein 22%Fat 73% of calories
- Net carbs
- 7 g
- Total carbs
- 10.5 g
- Fiber
- 3.4 g
- Sugars
- 4.5 g
- Protein
- 31.4 g
- Fat
- 47.3 g
- Saturated fat
- 22.2 g
- Calories
- 606 kcal
- Sodium
- 800 mg · 34.8% RDA
- Magnesium
- 53 mg · 13.4% RDA
- Potassium
- 792 mg · 39.6% EMR
Nutrition by ingredient
| Per about 280 g/ 10 oz | Net carbs | Protein | Fat | kcal |
|---|---|---|---|---|
| Ghee, clarified butter | 0 g | 0 g | 3.8 g | 34 |
| Onion, red, fresh | 0.8 g | 0.2 g | 0 g | 5 |
| Garlic, fresh | 0.5 g | 0.1 g | 0 g | 2 |
| Celery stalk, fresh | 0.1 g | 0.1 g | 0 g | 2 |
| Beef, minced (ground), raw, grass-fed | 0 g | 21.5 g | 25 g | 318 |
| Cinnamon, spices | 0.1 g | 0 g | 0 g | 1 |
| Cloves, spices | 0 g | 0 g | 0 g | 0 |
| Oregano, dried | 0.2 g | 0.1 g | 0 g | 2 |
| Bay leaf, dried or fresh | 0.1 g | 0 g | 0 g | 0 |
| Tomatoes, canned (unsweetened) | 0.8 g | 0.4 g | 0.1 g | 8 |
| Salt, sea salt | 0 g | 0 g | 0 g | 0 |
| Pepper, black, spices | 0.1 g | 0 g | 0 g | 1 |
| Wine, red, dry | 0.4 g | 0 g | 0 g | 12 |
| Kefalotyri, Greek cheese | 0.5 g | 4 g | 3.5 g | 50 |
| Cauliflower, fresh | 2.2 g | 1.4 g | 0.2 g | 19 |
| Cream, heavy whipping, pouring, full-fat (30-40% fat) | 0.8 g | 0.6 g | 11.4 g | 110 |
| Egg yolk, fresh | 0.2 g | 1 g | 1.7 g | 21 |
| Nutmeg, spices | 0 g | 0 g | 0 g | 1 |
| Bay leaf, dried or fresh | 0 g | 0 g | 0 g | 0 |
| Parmesan cheese | 0.2 g | 2 g | 1.5 g | 22 |
| Salt, sea salt | 0 g | 0 g | 0 g | 0 |
| Total | 7 g | 31.4 g | 47.3 g | 606 |
Serving size about 280 g/ 10 oz
- Gluten free
- Nut free
- Pork free
- Avocado free
- Coconut free
- Fish free
- Shellfish free
You may also like

Cheesy Keto Crepe Lasagne

Keto Cheeseburger in a Bowl

Low-Carb Zucchini Lasagna Roll Ups

The Best Low-Carb Eggplant Lasagna

Keto Palmini Lasagna

Cheesy Low-Carb Meatloaf

Low-Carb Instant Pot Osso Buco

Keto Chicken Crust Pizza

Mexican Keto Empanadas

Low-Carb Zucchini Spaghetti Bolognese

Keto Steak Dinner For Two

Braised Short Ribs with Cauliflower Mash

Keto Italian Antipasti Cold Plate

Low-Carb Chicken Liver Shepherd's Pie

Keto Palmini Spaghetti Bolognese

Easy Low-Carb Marinara Meatballs

Comments & ratings (15)
Martina, this sounds delicious. It's going on the list to make soon. I'm thrilled to see a method for making low carb bechamel!
This was incredible. And I mean INCREDIBLE! So much flavor and everyone loved it. I can say with confidence that this is at least just as good as moussaka, maybe even better 😊
Thank you Katie, that is such a lovely feedback!
Martina! I can't believe how good this casserole is. The spices make it so like moussaka, one hardly knows the difference. The only change I made was to double the cauliflower topping. I made it in a 13X9 glass pan so there was plenty of room. I live alone and ate it for days and was thrilled with each serving. Bravo!
Thank you so much, what a lovely feedback! We make this at least once a month and I remember making 4 batches back when I was pregnant and was doing meal prep for the freezer 😊 And I agree, you can always add more cauliflower mash on top to make it more satisfying. I'll just need to get a new casserole dish to fit it!
Thanks Martina! This is a fantastic recipe. My husband & I both loved it & it be become a regular in our home. It was really hard to stop at 1 serving!
Thank you so much! This is definitely one of the most frequently made casseroles in our house! 😊
I'm interested in your Mediterranean cookbook that you mentioned in this post, is there a list of recipes for this cookbook? I saw more than a few fish recipes and I'm not fond of fish. I would appreciate some reference info before I purchase.
Hi Beth, I don't have a full list of recipes published online but I can tell you that there is a significant part of fish & seafood recipes (30% of total recipes if I had to guess). I hope this helps!
Keto Greek beef and cheese casserole. The recipe is still missing the egg portion.
How many egg yolks does this recipe require?
Thanks Brigitte
Hi Brigitte, this was added shortly after publishing the recipe (see comment below). I wonder if it didn't update in the instructions in our app? I'll refresh the recipe just in case!
Looks delicious but the recipe is incomplete.
How many egg yolks?
Thank you for noticing, it was missing in the list of ingredients but it's fixed now 😊
It is still missing the amount of eggs required in the recipe. 😊
See topping ingredients and step number 6 - I hope this helps!