Heat oven to 350 degrees.
Grease a 9x13 inch pan, set a side.
Melt the butter in a medium sauce pan. Saute the garlic, basil, oregano and pepper until the garlic is fragrant.Whisk in the flour and salt until there are no clumps (besides the garlic). Cook for about 1 minute.
Slowly add the milk and broth. Bring to a boil and stir for 1 minute. Remove from heat and stir in the mozzarella cheese and 1/2 cup of parmesan cheese. Stir until the cheese is fully melted and the sauce is smooth. Set the cheese sauce aside.
In a medium bowl combine the ricatta cheese, gorgonzola cheese, and egg. Mix until combined.
Spread 1/4 of the cheese sauce in the bottom of the baking dish. Top with 3-4 lasagna noodles (fresh or uncooked dry lasagna noodles). Spread with 1/2 the ricotta cheese mixture, half the chicken, if using and then another 1/4 of the cheese sauce. Place another 3-4 lasagna noodles on top and then top with the remaining ricotta cheese mixture, then all of the spinach and another 1/4 of the cheese sauce. Add the remaining lasagna noodles and pour the remain cheese sauce over top. Top with a 1/2 cup of parmesan cheese.
Bake uncovered for 1 hour or until the top has bubbled up and browned a bit.
Let stand 20 minutes before serving.