Preheat a large skillet over medium-high heat. Add the olive oil and once hot, add the ground chicken. Cook for 5-7 minutes, occasionally breaking up the meat, until almost fully cooked.
Season with salt and pepper, then add the chopped spinach. Sauté for a few minutes until the spinach has wilted. Remove the meat mixture from the skillet and set aside in a bowl.
In the same skillet, melt the butter over medium heat. Once melted, whisk in the flour until it forms a paste, about 1 minute. Slowly pour in the milk, whisking continuously until fully incorporated.
Let the sauce simmer for 3-4 minutes, until slightly thickened. Remove from the heat and stir in the salt, pepper, and pesto. Set aside until ready to assemble.
In a small bowl, prepare the ricotta layer by mixing together the ricotta, parmesan, egg, and salt until well combined.
Grease a 9×13-inch baking dish and begin assembling the lasagna.
Spread about ¾ cup of the sauce on the bottom of the pan. Add 3–4 lasagna noodles, followed by half of the ricotta mixture, half of the chicken mixture, ½ cup mozzarella cheese, and 1 cup of sauce.
Repeat the layers once more using the remaining ricotta and chicken.
Finish with a final layer of noodles and the remaining sauce. Top with the remaining mozzarella and parmesan cheese. If desired, add a few small dollops of extra pesto on top.
Cover with foil and bake for 25 minutes.
Remove the foil and bake for another 10 minutes, until bubbly and lightly golden.
