This keto lasagna tastes like the real thing — a long-simmered meat sauce, a ricotta layer that sets instead of weeping, and a mozzarella top that blisters brown at the edges — for 9 grams of net carbs a serving. The trick is not the noodle substitute itself but what you do to it first: salted and roasted zucchini planks give up their water on a sheet pan instead of in your baking dish. It is the heaviest, most comforting thing in the Keto collection, and it still cuts into squares that stand up on a plate.
Table of Contents
Why this keto lasagna never goes watery
- Salt, press, then roast. Zucchini is roughly 94% water. Twenty minutes under salt pulls out the surface moisture; twelve minutes at 425°F (220°C) drives off enough of what is left that the planks turn matte and pliable rather than releasing a puddle mid-bake.
- The ricotta layer is bound. One egg and a cup of grated parmesan turn loose ricotta into something closer to a savoury custard, so it firms as it bakes instead of sliding out of the cut.
- The sauce is reduced, not poured. Tomato paste plus a 15-minute uncovered simmer takes jarred marinara down to a consistency that clings to the zucchini rather than running past it.
- It eats like a main course. 39 g of protein and 9 g of net carbs a serving, from one 9×13 dish that feeds eight — no side dish required to make it a meal.

Ingredients
Makes 8 servings of keto lasagna in a 9×13-inch (33×23 cm) dish.
- 4 medium zucchini, about 2 lb (900 g) total, ends trimmed
- 1 tbsp (18 g) kosher salt, for drawing out water (most is discarded)
- 1 tbsp (15 ml) olive oil
- ½ medium yellow onion, about 2 oz (60 g), finely diced
- 3 garlic cloves (9 g), minced
- 1 lb (450 g) ground beef, 85/15
- 8 oz (225 g) bulk Italian pork sausage, no sugar added
- 2 tbsp (32 g) tomato paste
- 1½ cups (360 g) no-sugar-added marinara sauce
- 1 tsp dried oregano
- ½ tsp red pepper flakes
- ¾ tsp fine sea salt, plus black pepper to taste
- 15 oz (425 g) whole-milk ricotta
- 1 large egg
- 1½ cups (150 g) finely grated parmesan, divided
- 12 oz (340 g) low-moisture whole-milk mozzarella, shredded (about 3 cups)
- ¼ cup (10 g) fresh basil leaves, torn, to finish
Equipment
- Mandoline, or a sharp chef’s knife and a steady hand — the planks need to be an even ⅛ inch (3 mm)
- Two rimmed sheet pans
- 12-inch (30 cm) skillet
- 9×13-inch (33×23 cm) baking dish, plus foil
- Colander and a stack of clean kitchen towels
- Instant-read thermometer

How to make it
- Slice and salt the zucchini. Cut lengthwise into ⅛-inch (3 mm) planks. Layer them loosely in a colander, scattering the kosher salt between layers. Leave 20 minutes — you should see a visible pool underneath and the planks should bend without snapping.
- Press them dry. Heat the oven to 425°F (220°C). Press each plank firmly between kitchen towels. They should feel damp, not wet. Lay them in a single layer on two sheet pans, no overlap.
- Roast the planks. Roast 10–12 minutes, until the surfaces look dull and dry rather than glossy, the edges curl slightly, and a few olive-brown spots appear. They should stay pliable, not crisp. Set aside and drop the oven to 375°F (190°C).
- Brown the meat. Heat the olive oil in the skillet over medium-high. Cook the onion 3 minutes until translucent. Add the beef and sausage, break into coarse pieces, and cook 8–10 minutes until no pink remains and the pan bottom is browned. Tilt the pan and spoon off about 3 tbsp of rendered fat.
- Build the sauce. Stir in the garlic and tomato paste and cook 1 minute, until the paste darkens from red to brick and smells toasted. Add the marinara, oregano, pepper flakes, sea salt and pepper. Simmer uncovered 12–15 minutes, until a spoon dragged across the pan leaves a track that holds for a full two seconds.
- Mix the ricotta layer. Stir the ricotta, egg and 1 cup (100 g) of the parmesan together until smooth and stiff enough to hold a peak on the spoon. Season with black pepper.
- Assemble in three layers. Spread ¼ cup of sauce across the dish. Then, three times over: one overlapping layer of zucchini planks, a third of the remaining sauce, half the ricotta mixture (skip it on the top layer), and a third of the mozzarella. Finish with the last mozzarella and the remaining ½ cup parmesan.
- Bake covered. Tent foil over the dish so it does not touch the cheese, and bake 30 minutes at 375°F (190°C), until the sauce is bubbling at the edges.
- Brown the top. Remove the foil and bake 15–18 minutes more, until the mozzarella is bubbling with amber-brown patches. An instant-read thermometer pushed into the centre should read at least 165°F (74°C).
- Rest 15 minutes. This is not optional — cut it hot and the layers slide apart. Scatter the torn basil just before serving.
Tips from the test kitchen
- The usual way a keto lasagna fails is a skipped roast. Salting removes surface water; roasting removes what is held inside the cell walls. If you only have time for one step, roast — salting alone is what produces the soupy version people complain about.
- Slice thin and slice evenly. At ¼ inch the planks stay too firm and slip apart under the knife; much under ⅛ inch and they disintegrate into the sauce. A mandoline earns its place here.
- Shred your own mozzarella. Bagged pre-shredded cheese is dusted with potato starch or cellulose, which adds carbs you did not budget for and makes the top grainy instead of molten.
- Read the marinara label. Jarred sauces run anywhere from 4 to 11 g of carbs per half cup. Across 1½ cups that swing is larger than the entire carb count of this dish.
- This is a weekend build. When you want low-carb comfort food on the table in twenty minutes instead of ninety, garlic butter shrimp scratches a similar itch, and the full recipe archive has more weeknight options.
Swaps and variations
- Ground turkey for the beef and sausage. Brings fat down to roughly 26 g and calories to about 455 a serving, with protein holding near 38 g. Add an extra tablespoon of olive oil, because turkey renders almost nothing into the pan.
- Eggplant instead of zucchini. Salt and roast it exactly the same way, 15 minutes rather than 12. Adds about 2 g of total carbs a serving and a deeper, smokier note.
- Blended cottage cheese for the ricotta. Blend 15 oz of small-curd until completely smooth first. Saves around 55 calories and 6 g of fat a serving and adds about 4 g of protein, though the layer sets a little looser.
- Sausage-forward and spicier. Shift the ratio to 12 oz sausage and 12 oz beef and double the pepper flakes. Macros move by under 15 calories a serving, so the keto lasagna numbers below still hold.

Storage and meal prep
Cooled keto lasagna keeps 4 days covered in the fridge, and it actually cuts more cleanly on day two once the ricotta layer has fully set. Bring it down to room temperature within two hours of leaving the oven, then refrigerate — never put the hot dish straight in. It freezes for up to 3 months, either whole or as individually wrapped squares; thaw overnight in the fridge and reheat covered at 350°F (175°C) for 20–25 minutes, or microwave a single square 3–4 minutes. What does not survive storage is the crisp browned cheese top and the fresh basil. Add the basil after reheating, and give the dish two minutes under the broiler if you want the top back.
Nutrition per serving
| Nutrient | Per serving |
|---|---|
| Calories | 569 kcal |
| Protein | 39 g |
| Fat | 41 g |
| Total carbs | 11 g |
| Fiber | 2 g |
| Net carbs | 9 g |
Nutrition is an estimate and varies with brands and exact portion sizes. These keto lasagna figures were calculated from the quantities above using reference values from the USDA’s FoodData Central database, assuming about 3 tbsp of rendered fat is drained off after browning.
Frequently asked questions
Why did my zucchini lasagna turn out watery?
Almost always because the zucchini was salted but not roasted. Salt draws moisture off the surface, but the bulk of the water sits inside the flesh and only heat removes it. The other common cause is slicing too thick, which leaves more interior water per plank than 12 minutes in the oven can drive off.
Is keto lasagna actually filling without pasta?
Yes — a serving carries 39 g of protein and 41 g of fat, which is more of both than a typical pasta lasagna square. The zucchini adds volume without carbs, so the portion looks and eats like a full plate rather than a diet substitute.
Can you freeze keto lasagna?
Yes, and it freezes better than most vegetable bakes because the zucchini has already been dried out. Cool it completely, wrap tightly, and freeze up to 3 months. Thaw overnight in the fridge before reheating — going straight from freezer to oven leaves a cold centre and an overcooked edge.
Do I need to peel the zucchini?
No. The skin is thin, holds the plank together through roasting, and carries most of the fiber. Peeling gives you a paler, floppier layer for no real gain. Just scrub the zucchini well and trim the ends.
How many net carbs are in a serving?
This keto lasagna has 9 g net carbs per serving — 11 g total carbohydrate minus 2 g of fiber, at one eighth of a 9×13 dish. Roughly half of that comes from the marinara, so a lower-carb jarred sauce is the single most effective way to bring the number down further.
Can I assemble it the day before?
Yes. Assemble the keto lasagna completely, cover, and refrigerate up to 24 hours, then add 10 minutes to the covered bake time to account for the cold start. Do not assemble it with warm sauce and leave it out on the counter — get it into the fridge within two hours.
Ratings and reviews
No ratings yet. If you have cooked this, your rating helps the next person decide.

Rate this recipe