To prepare the zucchini: Cut a small slice off the end of each zucchini. Slice the zucchini thinly lengthwise using either a mandoline, a y peeler or a sharp knife*.
Arrange the zucchini slices in a single layer on a kitchen towel or a few sheets of paper towels. As they rest, you will notice a trace amount of moisture emerging on the surface. Let them sit on the counter while you are working on the rest of the ingredients, and be sure to pat dry before the assembly stage.
In a medium skillet, heat the olive oil over medium-high heat, then add the onions and saute, stirring occasionally, until translucent, approximately 5 minutes. Lower the heat to medium and add the garlic and saute for an additional 1 minute.
Add the spinach and cook until fully wilted, 2-3 minutes. Remove from the heat, and let it cool for a few minutes while you are making the ricotta mixture. If there is any liquid in the pan, drain it prior to adding to the ricotta mixture.
To prepare the ricotta filling: Mix together ricotta cheese, egg, parmesan cheese, oregano, basil, lemon zest, salt, and pepper in a medium bowl.
Add in the spinach mixture and stir to combine.
Preheat the oven to 375 degrees F.
To assemble the zucchini lasagna: Spread ¼ cup of tomato sauce at the bottom of a 9x13-inch casserole dish.
Arrange the zucchini slices on top of the tomato sauce, placing them across the shorter width and covering the empty spots with more zucchini slices. You should use around 12-13 slices per layer.
Spread ⅔ cup of the filling (~7 oz.) over the zucchini layer. Spoon ½ cup of the tomato sauce and sprinkle with ⅓ cup of the mozzarella cheese.
Repeat the process four more times (5 layers in total), ending with the remaining tomato sauce and shredded mozzarella.
Cover with aluminum foil and bake for 30 minutes.
Remove the foil and bake for an additional 15 minutes so that the top will become bubbly brown. Let it cool for 15 minutes on the kitchen counter.
Garnish with some torn fresh basil leaves, slice and serve.