Preheat the oven to 375°F. Grease a 9 x 13-inch baking dish.
In a medium saucepan over medium heat, melt the olive oil and butter together.
Add the chopped shallot, garlic, thyme, rosemary, salt, and pepper. Cook for about 5 minutes until softened.
Whisk in the flour and cook for 1 minute.
Slowly whisk in the milk and vegetable broth. Bring to a gentle boil, stirring constantly.
Cook for about 3 minutes until the sauce begins to thicken.
Remove from the heat and stir in the provolone cheese and ½ cup of the Parmesan cheese until smooth.
Spread about one-quarter of the sauce in the bottom of the prepared baking dish.
Top with 3 to 4 lasagna noodles. Spread half of the basil pesto over the noodles, then add half of the spinach.
Repeat the layers with sauce, noodles, remaining pesto, remaining spinach, and more sauce.
Add one final layer of noodles and spread the remaining sauce over the top.
Sprinkle with the remaining ½ cup Parmesan cheese.
Cover with foil and bake for 30 minutes.
Remove the foil and continue baking for an additional 20 minutes, until golden and bubbly.
Let the lasagna rest for 10 to 15 minutes before slicing and serving.