Skip to content
KETOFOCUS.

Sweater weather calls for keto comfort food. Get Cozy →

Keto Zucchini Lasagna

Tender zucchini slices stand in for pasta in this keto zucchini lasagna, layered with three-cheese ricotta filling and anise-spiced beef, with 2.5g net carbs and 19.9g protein. My tricks keep it from going watery, so every slice holds together.
  • 2.5gnet carbs
  • 19.9gprotein
  • 45minutes
  • 8servings

This post may contain affiliate links. See my disclosure policy.

I’ve been making this for years, and the single biggest lesson is that moisture control is everything. Most versions end up as a watery casserole with liquid pooling at the bottom. Mine doesn’t, because I figured out two things that fix the problem completely.

First, slice the zucchini as thin as you can. I use a vegetable peeler for some batches instead of a mandoline. It sounds counterintuitive, but thinner slices trap less moisture between the layers. Second, salt those slices and give them a full 15 minutes to release their water, then blot them dry. More than one reader has told me the batch where they finally waited the full time was the one that held together.

The other detail that sets this apart is the anise seeds in the meat sauce. Most people skip them or have never tried them in lasagna, but that’s the ingredient that makes this taste like a real Italian bake instead of just beef and zucchini stacked in a dish. I’ve had multiple readers bring this up unprompted in the comments, so it’s not just my imagination.

Three cheeses hold the layers together: fresh mozzarella, parmesan, and ricotta mixed with an egg. The egg matters. Without it, the ricotta slides around when you cut a slice. With it, the filling sets firm in the oven and you get clean, neat portions. I tested both ways and the difference is obvious.

Assembly is straightforward once your components are ready. Sauce goes on the bottom of the dish first (this prevents sticking), then a layer of zucchini slices, followed by the beef mixture, ricotta filling, and mozzarella. Repeat the layers and bake at 400 for 25-30 minutes. I let mine rest for at least 5 minutes before cutting, sometimes longer. The layers continue to set as it cools, and you get much cleaner slices if you’re patient.

This is a solid weeknight keto dinner that my family requests regularly. My husband prefers it to traditional pasta lasagna (his words, not mine). If you’re feeding a crowd, double everything in a 9×13 pan and add about 10 minutes to the bake time. Check the center with a knife before you pull it out.

If you like Italian casseroles, I have a few more on the site. My lasagna with deli chicken noodles uses a completely different noodle base. The skillet lasagna comes together in one pan when you don’t feel like layering. Baked spaghetti casserole is another crowd-sized option, and spaghetti with zucchini noodles is great for lighter nights.

Low Carb Zucchini Lasagna Recipe

a plate with beefy lasagna and sheets of zucchini

Most recipes that swap zucchini for pasta end up with a watery mess at the bottom. I spent a lot of time testing different methods to fix that, and what I landed on works every time: thin slices, a quick salt draw, and the right layering order. The result is a cheesy, beefy casserole that actually cuts into clean slices.

This pairs well with a side salad, or try my chicken parmesan alongside it for a full Italian spread. My baked ziti is another solid option when you want something different.

cheesy lasagna casserole with basil on top

How to Keep It From Getting Watery

The biggest complaint is the water. Zucchini is mostly water, and when it cooks, all that moisture releases straight into the casserole layers. I’ve tested a few different methods to deal with it, and here’s what works best for me.

  1. Slice as thin as possible. Thicker strips mean more zucchini volume and more trapped moisture. I use a mandoline on the thinnest setting, but a vegetable peeler works even better for paper-thin slices.
  2. Salt and wait. Sprinkle salt over the slices and let them sit for 15-30 minutes. The salt pulls the water out. Then blot everything dry with paper towels before layering. I know it feels like a long wait, but this is the step that makes or breaks the whole dish.
water coming off zucchini sheets

Best Cheeses for the Layers

I use three cheeses in the layers: fresh mozzarella, parmesan, and ricotta. The fresh mozzarella melts into those stretchy, golden pockets you want in a good lasagna. Shredded works fine if that’s what you have on hand. I’ve also swapped in cottage cheese for the ricotta and tried cream cheese mixed with parmesan. Both turned out well. Provolone or smoked gouda add a nice depth if you want to experiment with the flavor.

bending a zucchini noodle

Adding More Vegetables

If you want to bulk this up with more vegetables, mushrooms and spinach are my go-to additions. I layer sauteed mushrooms right in with the beef, and I tuck fresh spinach between the zucchini slices where it wilts down during baking. Readers have mentioned adding carrots and onions. Onions work great, but carrots run high in carbs for keto, so I’d stick with lower-carb options. Eggplant slices work too, but salt and drain them the same way as the zucchini. My enchilada lasagna casserole is another way I change up the flavor profile when I want variety.

browned cheese layer on top the lasanga

Storage and Make-Ahead Tips

Store leftovers in the fridge for up to 5 days. This actually tastes better the next day once the layers have fully set. For make-ahead, I assemble the whole thing up to two days before and keep it covered in the fridge, then bake when I’m ready. Add about 5-10 extra minutes if it’s going straight from cold to oven.

You can freeze it too. I cut mine into individual portions, wrap each one tightly, and freeze for up to 3 months. Reheat straight from frozen in the oven at 375 for about 25-30 minutes, or thaw overnight in the fridge first and bake at 375 for 20 minutes. Either way works. I always bake the lasagna before freezing instead of freezing it assembled. Baked portions reheat with better texture.

lasagna casserole with cheese and basil on top

How to Layer and Bake This Lasagna

The whole process comes down to three phases: prep the zucchini, build the meat sauce, and layer everything. I salt my zucchini slices for 15 minutes (minimum) to pull out the moisture, brown the beef with anise seeds and marinara, and mix the ricotta filling with an egg so it sets in the oven. Then it's just stacking: sauce on the bottom, zucchini, beef, ricotta, mozzarella, and repeat. 25-30 minutes at 400 degrees and you have a lasagna that holds its shape when you cut it.

Discover more keto recipes on our channel Hundreds of keto recipe videos, with step by step instructions and the tips that make keto easy.
KetoFocus
The recipe

Keto Zucchini Lasagna

Print Pin
Prep 15 min Cook 30 min Total 45 min Serves 8

Ingredients

Servings 8

Zucchini Lasagna Ingredients

Step by Step Instructions

  1. Preheat oven

    Preheat the oven to 400 degrees

    red led 400 degree on a black background
  2. Make zucchini noodles

    Slice the ends of the zucchini. Using a mandoline slicer, cut the zucchini into thin strips lengthwise.

    cutting sheets of zucchini with a madoline slicers
  3. Dehydrate noodles

    Lay the zucchini down on a plate or cutting board and a very thin layer of salt over the zucchini. Let sit for 15 minutes. Blot moisture out of zucchini afterwards.

    blotting zucchini slices with a paper towel
  4. Brown ground beef

    While zucchini is dehydrating, add olive oil to a skillet over medium heat. Add ground beef and cook for 2-3 minutes. Season with salt, pepper, Italian seasoning and anise. Continue cooking until ground beef has cooked through. Pour in 1 cup marinara sauce. Simmer for 1-2 minutes. Remove from heat and set aside.

    ground beef browning in a skillet
  5. Make white sauce

    While ground beef is cooking, make the white sauce. In a small bowl, combine ricotta, egg, parmesan and garlic powder.

    whisking white sauce in a clear bowl
  6. Assemble lasagna

    Assemble the lasagna. Pour 1/2 cup marinara sauce in the bottom of a small casserole dish. Lay down a layer of zucchini noodles.

    sheets of lasagna noodles in a dish
  7. Keep assembling

    Top with half the ground beef mixture. Spread half the white sauce on top. Layer half the mozzarella cheese down. Repeat the layers.

    piling cheese on top a lasagna
  8. Bake

    Bake at 400 degrees for 25 to 30 minutes. Let sit for 3-5 minutes to cool before serving.

    baked lasagna in a casserole dish

Nutrition

Per serving: 1/8 of recipe

Calories
333
Fat
25.5g
Protein
19.9g
Total carbs
3.8g
Net carbs
2.5g

Nutrition is an estimate calculated from the ingredients listed. Brands vary, so check labels if you track closely.

Frequently Asked Questions

Do I need to cook the zucchini before layering it into the lasagna?

No cooking needed. I slice it thin, salt it for 15 minutes, and blot it dry, then layer it raw. It finishes cooking in the oven. I have grilled the slices too, and it works. You get char on the edges and it drives off moisture faster than salting. The trade-off is that grilled slices are less flexible, so they do not conform to the dish as neatly. I still prefer the salt method because the thin, pliable slices layer better.

Browse by ingredient
Similar recipes

People who cooked Keto Zucchini Lasagna also made

Reviews

Tap to rate

4.7 from 32 ratings, 19 written

Made this recipe?

Replying to Taylor

Your rating

Kendra

Made this last night and it actually held together, unlike every other zucchini lasagna I’ve tried.

Reply

Annie Lampella

I went through plenty of watery versions before landing on this one. Most recipes don’t dry the zucchini enough after salting and the layers just steam apart.

Reply

Kendra

Didn’t press it nearly long enough the first time, but that explains it. Trying again this weekend.

Reply

Mia

I wanted more marinara, four stars

Reply

Annie Lampella

Easy fix. Bump it to 2 cups and spread a little more between each layer. It absorbs into the zucchini as it bakes, which is why I went conservative, but more is totally fine here.

Reply

Jordan

do you have to salt the zucchini first or does it not matter?

Reply

Annie Lampella

It matters. Zucchini holds more water than you’d think, and skipping the salt step puts all of that straight into your layers. I do about 15 minutes, then pat dry before layering.

Reply

Hannah Y.

Served this cold at a work potluck Friday (sliced right off the dish, no reheating) and the layers held clean, which I genuinely wasn’t certain about. The anise in the beef must have been the thing everyone noticed but couldn’t place. Two separate people came over asking what meat blend I’d used. Explained anise seeds twice in one afternoon over paper plates. Not a conversation I expected. Warm would’ve been better presentation-wise, but the cold-slice result was good to know. Going in the rotation for group meals.

Reply

Annie Lampella

Cold holding clean is the more useful potluck data anyway. The anise thing catches people every time – not a bad problem to explain over paper plates.

Reply

Hannah Y.

Good point. I’ll just lead with cold-safe next time.

Reply

Maria

The three-cheese ratio is the one place I’d adjust. The beef layer and the marinara both hit pretty hard, and the ricotta at the listed amounts spreads thin across the zucchini slices. I bumped the ricotta and parmesan by half on my second batch and got the filling exactly where I wanted it. Everything else held up as written, slices stayed intact, no pooling at the bottom, and the portions are more filling than they look at this carb count. Brought leftovers to my sister’s the next day and they reheated without losing the texture. One tweak away from what I was after, and worth the effort.

Reply

Annie Lampella

More ricotta makes sense when the beef is that heavy. I kept the original amounts lean so the zucchini doesn’t get buried, but sounds like your ratio gets the filling into better balance.

Reply

Eric

Never used a mandoline before. Weirdly satisfying.

Reply

Annie Lampella

Mandoline converts are pretty permanent. Once you get zucchini that thin in under a minute, going back to a knife feels impossible.

Reply

Mei

My husband asked why it wasn’t watery like other zucchini dishes he’s had, and I had to explain that the salting step actually works.

Reply

Annie Lampella

Salt skeptics usually come around.

Reply

Riley V.

Used hot Italian sausage instead of ground beef, skipped the anise seeds since the sausage already has it. Every layer came through sharper.

Reply

Olivia

Made a full pan Sunday and I’m still eating from it Thursday, and it’s actually getting better. Salting the zucchini felt tedious the first time but it’s why this holds together as a real slice instead of the watery mess I was making before. Reheated a piece Wednesday and the ricotta was still creamy, the zucchini still had some bite. I doubled the white sauce because I always want more of that layer and it didn’t affect anything else. Making two pans next time. One is never enough when you’re eating it for both lunch and dinner.

Reply

Annie Lampella

Doubling the white sauce is the right call. I always want more of that layer too. Two pans next time is where this recipe ends up for most people.

Reply

Taylor

Salting the zucchini first felt like an unnecessary step so I almost skipped it, but I’m so glad I didn’t. My slices held together cleanly enough to lift a whole piece out of the pan, which never happens with zucchini anything. Adding this to my spring rotation for sure.

Reply

Annie Lampella

Glad you didn’t skip it. Clean lift out of the pan is the whole point. Skip the salt and you’re basically assembling soup.

Reply

Melissa

My son has refused zucchini since he was four. He cleaned his plate without a word, which never happens with vegetables. The anise in the beef pulls it together. Reads as actual lasagna, not a vegetable disguise.

Reply

Annie Lampella

Four years of refusal. One plate. He still doesn’t know what he ate, does he.

Reply

Corinne

My grandmother’s lasagna always had anise in the meat sauce, which I figured I’d just have to give up when I went keto. I wasn’t expecting this to actually smell like hers when it came out of the oven, but it did. The salting step for the zucchini is worth the extra time. Slices came out clean.

Reply

Annie Lampella

That smell is the anise. Most versions leave it out entirely and that’s usually what’s missing.

Reply

Diane

Grew up eating my grandmother’s lasagna every Christmas, and I genuinely thought that chapter was closed after going keto. The anise seeds in the beef brought back something I wasn’t expecting to feel again. Four stars only because nothing will ever quite replace her noodles, but this one is earning a spot in Sunday dinners.

Reply

Annie Lampella

Sunday dinners is exactly where it belongs. And I love that she used anise too. A lot of people think that’s my secret ingredient, but really it’s just old Italian cooking.

Reply

Jasmine

My 9-year-old saw the zucchini and said ‘that’s not lasagna.’ Ate two pieces without another word. Pretty sure it was the anise in the beef.

Reply

Annie Lampella

Ha. Two pieces without another word is better than any five-star review.

Reply

Rebecca

I’d quietly written off lasagna when I went keto, so finding that the salted zucchini trick actually keeps it from going watery made this feel like getting the real thing back.

Reply

Annie Lampella

The anise in the beef is the other half of that. Most people skip it, but it’s what makes the meat sauce taste Italian instead of just ground beef.

Reply

Kelly

Does salting the zucchini really make a big difference? I’ve made zucchini boats before and skipped that step and they turned out super watery. Wondering if I can get away with it here or if it’s actually necessary for lasagna.

Reply

Annie Lampella

Yeah, it really does matter here. Zucchini boats have way more surface area exposed so they drain differently – lasagna traps the moisture between layers and it has nowhere to go. I’d do the 30 minutes with salt, pat them dry, and you should be fine.

Reply

Alina

Hello,

I made this today and it’s a very nice recipe. I would like to add more veggies in it to be honest. I ll make it with carrots and onions next time i think

Reply

Annie Lampella

Onions are great in there. Carrots run pretty high carb for keto though. Mushrooms or spinach are better swaps, they hold up well in the layers.

Reply

Kim,

Hi Annie, Thank you for your wonderful recipes and advice on staying strong while on keto.

I tried this recipe as I love lasagna and I was amazed at the taste. absolutely delicious!
Keep up the fantastic work.

Reply

Annie Lampella

Yeah the anise seeds in the meat sauce are the sneaky part. Most people skip them but that’s what makes it taste like real lasagna.

Reply

Karen

Came out great – thanks for the tips to prevent it from being watery! It never would have occurred to me to use a vegetable peeler to make noodles because it seemed too thin, but that’s what made them so good! Thanks!

Reply

Annie Lampella

The peeler was one of those things I almost didn’t include because it seemed counterintuitive. Thinner slice, less water trapped in the layers.

Reply

Andrew Evenstar

saved this to my recipes, may try this tonight !!

Reply

Annie Lampella

Hope you get to it tonight – the anise seeds in the meat layer are what make it actually taste like lasagna instead of just zucchini soup.

Reply

Keep going

More Dinner Recipes

See all 172 Dinner recipes

Get new recipes from Annie

One email a week. Unsubscribe whenever you like.