Melt the butter in a large saucepan over medium heat. Cook the onion and garlic in the butter until tender, stirring frequently. Stir in the flour and salt, and simmer until bubbly. Mix in the stock and milk. Boil, stirring constantly, for 1 minute.
Stir in 2 cups mozzarella cheese and 1/2 cup Parmesan cheese. Season with the basil, oregano and ground black pepper. Remove from heat and set aside.
Spread 1/3 of the sauce mixture in the bottom of a 20x30cm baking dish. Layer with 3 sheets, the ricotta and the chicken. Arrange another 3 sheets of the lasagne over the chicken. Layer with another 1/3 of the sauce mixture, spinach and the remaining 2 cups mozzarella cheese and 1/2 cup Parmesan cheese. Arrange remaining lasagne sheets over cheese, and spread remaining sauce over the top. Sprinkle with parsley and 1/4 cup Parmesan cheese.