Keto Zucchini Lasagna
Published January 30, 2021 • Updated March 5, 2026
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 (Karen from the comments tried it and said the same thing), 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. Yuki, one of my readers, said it took her four tries before she actually waited the full time, and that was the batch where everything finally 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.
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.
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.
Explore hundreds of keto recipe videos with step-by-step instructions, tips, and tricks to make keto easy.
Ingredients
1 zucchini
2 tablespoons olive oil
1 pound ground beef
1 teaspoon salt
1/2 teaspoon pepper
1 tablespoon Italian seasoning
1/4 teaspoon anise seeds
1 1/2 cups low-carb marinara sauce, divided
1/4 cup ricotta cheese
1/4 cup grated parmesan cheese
1 egg
1 teaspoon garlic powder
12 oz fresh mozzarella cheese, sliced
Step by Step Instructions
Step by Step Instructions
Preheat oven
Preheat the oven to 400 degrees
Make zucchini noodles
Slice the ends of the zucchini. Using a mandoline slicer, cut the zucchini into thin strips lengthwise.
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.
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.
Make white sauce
While ground beef is cooking, make the white sauce. In a small bowl, combine ricotta, egg, parmesan and garlic powder.
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.
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.
Bake
Bake at 400 degrees for 25 to 30 minutes. Let sit for 3-5 minutes to cool before serving.
Nutrition disclaimer
The nutrition information provided is an estimate and is for informational purposes only. I am a Doctor of Pharmacy (Pharm.D.); however, this content is not intended to be a substitute for professional medical advice, diagnosis, or treatment. Always consult your physician or other qualified health provider before making any lifestyle changes or beginning a new nutrition program.
Your Macros. Your Recipes. Calculated in 60 Seconds.
Get personalized keto macros and instantly see which recipes fit your targets. No more guessing what to eat.
Get My Macros + Recipes →Frequently Asked Questions
Can I grill the zucchini instead of salting it to remove moisture?
I've tried grilling the slices and it does work. You get some nice char on the edges and it drives off moisture faster than salting. The trade-off is that grilled slices are less flexible for layering, so they don't conform to the dish as neatly. I still prefer the salt method for this recipe because the thin, pliable slices layer better, but grilling is a solid option if you want that smoky flavor in the mix.
Can I assemble this lasagna the night before and bake it the next day?
I do this regularly and it works great. Assemble everything, cover tightly with foil, and refrigerate for up to 2 days. The layers actually meld together better overnight. When you're ready to bake, pull it straight from the fridge and add about 5-10 extra minutes to the bake time since it's starting cold.
Can I freeze keto zucchini lasagna, and how do I reheat it?
I freeze individual portions all the time. Wrap each piece tightly in plastic wrap, then foil, and freeze for up to 3 months. To reheat, I either thaw overnight in the fridge and bake at 375 for 20 minutes, or go straight from frozen at 375 for 25-30 minutes. The texture holds up well either way. I've found that baked-then-frozen reheats better than assembled-then-frozen, so I always bake it first.
Why do I add an egg to the ricotta, and can I skip it?
The egg is what makes the ricotta layer set firm in the oven instead of sliding around when you cut a slice. I've made it both ways, and without the egg, the filling oozes out the side the moment you lift a piece. With the egg, everything stays put and you get clean portions. I wouldn't skip it.
Can I make this in a 9x13 pan for a larger crowd?
I double the recipe and use a 9x13 when I'm feeding more than four people. Same layering approach, just more of everything. Bump the bake time to about 35-40 minutes and check the center with a knife. I've served this at family dinners for 8-10 people and there's never any left.
Can I use other vegetables besides zucchini in the layers?
I've added mushrooms and spinach to the layers and both work well. Saute the mushrooms first so they don't release extra water into the casserole, and tuck fresh spinach between the zucchini slices where it wilts during baking. I'd skip carrots since they're higher carb for keto. Eggplant slices work too, but they need to be salted and drained the same way as the zucchini.
What makes this taste more like real lasagna than other versions?
Anise seeds. That's my not-so-secret ingredient in the meat sauce. Most people leave them out or don't think to add them, but anise is what gives Italian sausage its distinctive flavor. A quarter teaspoon in the beef changes the whole dish. I've had multiple readers mention it in the comments without any prompting from me.






Made this last night and it actually held together, unlike every other zucchini lasagna I've tried.
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.
Didn't press it nearly long enough the first time, but that explains it. Trying again this weekend.
I wanted more marinara, four stars
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.
do you have to salt the zucchini first or does it not matter?
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.
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.
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.
Good point. I'll just lead with cold-safe next time.
Added an egg to the ricotta on pure instinct and it held together way better than I expected. The anise is still keeping it at four stars for me, but the texture? Nailed it first try.
The egg's in from the start. Try 1/8 teaspoon anise next time instead of 1/4, keeps it background.
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.
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.
Never used a mandoline before. Weirdly satisfying.
Mandoline converts are pretty permanent. Once you get zucchini that thin in under a minute, going back to a knife feels impossible.
I was so skeptical about the watery zucchini thing. Every lasagna like this I'd seen online looked like soup by the time it hit the plate and I almost talked myself out of making it. But that salting step actually works, the slices held their shape and the whole thing came out of the oven clean enough to slice. Giving it 4 stars because mine still had a little liquid pooling at the bottom, which I think is on me for not letting it drain long enough. Trying again this weekend and actually being patient about it.
Danielle, Yep! I weight mine down with a heavy skillet while it drains, 20 minutes minimum, then blot each slice dry before layering, no more pooling.
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.
Salt skeptics usually come around.
I've made probably four different keto zucchini lasagna recipes and this is the first one where the layers actually held together on the plate. The anise seeds in the beef are subtle but they're what makes the meat sauce taste complete rather than just seasoned ground beef.
The anise is exactly why I don't just call for Italian sausage. Same flavor, but I can control the fat ratio and seasoning level myself.
Used hot Italian sausage instead of ground beef, skipped the anise seeds since the sausage already has it. Every layer came through sharper.
My husband saw the zucchini going into the pan and gave me that look, but at the table he'd cleared his plate and was already eyeing mine. The anise seed in the beef is what does it (it reads like a real Sunday dinner, not a vegetable stand-in). Four stars only because I'm still dialing in how long to salt the zucchini slices.
Eyeing yours is better than any five stars. For the salting, 20 minutes then really dry. Longer than 30 doesn't change much.
Made this probably six or seven times now, and I finally figured out the dehydrating step is worth the extra time. First couple batches I rushed it and ended up with watery pools around every slice. Now I salt the zucchini and let it sit while the meat cooks, and it actually holds together the way it looks in the photos. The anise in the beef is subtle but it's what makes it taste like lasagna should.
That's exactly the window. I always salt while the meat browns, and by the time the sauce is in, they're ready to press dry. Most people skip the anise seeds and wonder why their version tastes flat.
Made a double batch on Sunday and have been pulling slices for lunch all week. Holding together so well in the fridge, which I genuinely didn't expect with zucchini. The salt-and-drain step is the reason it works for meal prep.
The layers firm up overnight and it slices cleaner on day two than it did fresh. Day four is my personal favorite.
Made a full pan Sunday and split it into four lunch containers for the week. I was half expecting the zucchini to turn to complete mush by Wednesday but it actually held its shape (the salting step is the reason, I'm convinced). Day three it was eating better cold than fresh out of the pan. Making a double batch this weekend, no question.
Day three cold is exactly right. For the double batch, use a 9x13 and bump the bake time to 35-40 minutes.