Heat 2 tablespoons of the olive oil in a large nonstick skillet. Add the garlic and saute until fragrant, about 1 minute. Add the red pepper flakes and saute for 20 seconds. Add the spinach in batches and toss in the hot oil until wilted. Season with salt and pepper and saute until tender, about 6 minutes. Transfer the spinach to a fine-mesh sieve to drain as it cools. When cool, place in a clean tea towel and squeeze out excess water. Roughly chop and reserve in a bowl.
Wipe out the skillet (or use a second large skillet), add the remaining 2 tablespoons olive oil, and set over a medium-high flame. When hot, add the zucchini and cook until tender and golden, about 12 minutes. Remove to a bowl and reserve.
Preheat the oven to 375 degrees F.
Butter a 9-by-13-by-4-inch baking dish and add a thin layer of besciamella. Cover with a layer of noodles (4 across) and then another thin layer of besciamella. Sprinkle some spinach and zucchini over the besciamella, and then top with one-quarter of the mozzarella, a sprinkling of the Parmesan and a ladleful of red sauce. Repeat this sequence twice to form two more layers. Top with a final layer of noodles and spread a final layer of besciamella, red sauce, mozzarella, Parmesan, and a few pats of butter to help the cheese crisp-up in the oven.
Cover the lasagne with foil and bake for about 30 minutes. Raise the heat to 400 degrees F, uncover, and bake until the cheese just begins to brown and the sauce bubbles, another 10 to 15 minutes. Let rest for 15 minutes before slicing. Serve with a sprinkling of Parmesan and a drop of extra-virgin olive oil.
Melt the butter in a medium saucepan over medium heat. Add the flour and cook, stirring with a wooden spoon, until the flour is lightly toasted. (This is an important step, as you have to slowly toast the flour without burning it. This will help you lose the floury taste.)
In a second saucepan, warm up the milk and gradually ladle it into the butter-flour mixture. Bring the sauce to a boil, whisking constantly, then reduce the heat and simmer for about 15 minutes. Season with nutmeg, salt and pepper.
If the sauce is too thick, add a little more milk; if too runny, return to the heat and whisk in a pat of butter mixed with an equal amount of flour. The most important thing is this: besciamella should not taste floury. If you think your sauce is ready but can taste a hint of "flouriness," then think again and keep on cooking for a few minutes more.
Puree the tomatoes until smooth in a food processor.
Add the olive oil to a large saucepan over medium heat. When hot, add the onions and saute just until soft, but before they actually start to brown. Add the garlic. If you'd like to make the sauce spicier, add the pinch of red pepper. Add the pureed tomatoes and season with salt and pepper.
Simmer over a medium-low flame for about 30 minutes. (Strive for balance in the consistency of the sauce: it should be fluid, but shouldn't look overly wet.) A few minutes before taking the sauce off the fire, stir in the basil and season with salt and pepper.