Preheat the oven to 180°C (350°F) fan.
Heat a large frying pan over medium heat and add a drizzle of olive oil.
Add the finely chopped onion and sauté until soft, then add the coarsely chopped spinach and cook, stirring, until the liquid has evaporated; set aside.
In a saucepan over medium heat melt the butter, then stir in the flour and cook briefly while whisking to form a roux.
Add the milk gradually in batches, whisking constantly to prevent lumps, and cook until the sauce thickens to a creamy consistency.
Stir the cooked spinach and onion mixture into the béchamel, then add the basil pesto and 100 g Parmesan; season with salt and pepper and mix until uniform, then remove from heat.
Spoon a little of the cheese cream onto the bottom of a 25×35 cm (10×14 in) baking pan.
Place 3 lasagna sheets over the sauce, spread more cream on top, and repeat layers of sheets and cream until the sheets and sauce are used up.
Sprinkle extra Parmesan over the top and bake for 35–40 minutes until golden and bubbling.
Allow the lasagna to cool slightly before cutting and serving.