Preheat the oven to 180°C (356°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 until the liquid has evaporated; set the mixture aside.
In a saucepan over medium heat melt the butter, then whisk in the flour and cook for 1–2 minutes to form a roux.
Gradually add the milk in batches, whisking constantly to prevent lumps, and cook until the sauce thickens to a cream consistency.
Stir the cooked spinach and onion into the béchamel, then add the basil pesto, grated Parmesan, salt and pepper; mix until uniform and set aside.
Spoon a little of the cheese cream onto the bottom of a 25×35 cm (10×14") baking pan to prevent sticking.
Lay 3 lasagna sheets over the cream, spread a layer of the spinach-pesto cream on top, and repeat layers (lasagna sheets then cream) until the sheets and cream are used up.
Sprinkle extra grated Parmesan over the top and bake in the preheated oven for 35–40 minutes until golden and bubbling.
Allow the lasagna to rest until slightly cooled, then cut into portions and serve.