Preheat oven to 350°F. Grease a 9 x 13-inch baking dish.
Bring a large pot of water to a boil. Cook lasagna noodles according to package instructions for al dente. Drain and rinse with cold water to stop the cooking process. Set aside.
Make the bechamel sauce by melting the butter in a large saucepan over medium heat. Once melted, add the garlic and cook for 30 seconds, until fragrant. Stir in the Italian seasoning. Whisk in the flour and cook for 1 minute to remove the raw flour taste.
Gradually whisk in the milk until the sauce is smooth. Bring to a light simmer and cook until thickened, about 8-12 minutes. The sauce should coat the back of a spoon.
Stir in ¾ cup parmesan cheese, salt, pepper, and nutmeg until cheese is melted and sauce is smooth. Remove from heat.
Spread 1 cup of bechamel sauce evenly across the bottom of the baking dish. Arrange 3 noodles on top, then layer with 1/2 cup bechamel, 1/3 of the chicken, 1 cup mozzarella, and 1/3 of the spinach.
Repeat with another layer of 3 noodles, ½ cup bechamel, 1/3 of the chicken, 1 cup mozzarella, and 1/3 of the spinach.
For the third layer, repeat the same process and drizzle on the ½ cup pesto.
For the final layer, add 3 noodles, then spread with bechamel and finish with remaining 1 cup mozzarella and ¼ cup parmesan.
Cover with foil and bake for 25 minutes. (Note: Insert 6-10 toothpicks evenly across the top, sticking out about ½-1 inch out of the lasagna before covering with foil. This prevents melted cheese from sticking to the foil. )
Remove foil and bake another 20-25 minutes or until cheese is golden brown and bubbly. If desired, place under the broiler for 2-3 minutes for a golden top. Keep watch so it doesn’t burn.
Allow to rest for 10-15 minutes before slicing. Top with fresh chopped herbs for a beautiful presentation.