If using the whole chicken, add a tbsp of oil to a large stock pot and add the whole chicken (with cavity contents removed). Brown the skin over medium heat for 1-2 minutes, then add enough water to cover the chicken. Bring to a simmer and reduce to heat a low as possible. Simmer 1.5 hours until meat is fully tender.
Remove from the broth (strain and keep this amazing homemade chicken broth in your freezer until you need it). Shred the meat.
Preheat oven to 375 and grease a 9x13 pan or casserole dish. Cook lasagna noodles according to package and rinse under cold water, then store them in cold water until you are done making the bechamel.
In a large sauce pan over medium heat, melt the butter. Add the garlic and stir. Then add the flour and whisk while cooking for 1 minute. Add the milk slowly while whisking to prevent lumps. Continue whisking and cooking until the mixture thickens. Remove from heat and whisk in the the parmesan. Taste the bechamel and season with salt and pepper.
Cook the spinach in a skillet over medium heat just until it wilts. Using a clean kitchen towel, wring out the excess water from the spinach and add to a bowl. Add the ricotta, shredded chicken, basil, italian seasoning, red pepper flakes, 1/4 cup of the bechamel sauce and mix. Taste and season with salt and pepper.
Spread a thin layer of bechamel in your greased dish. Layer with three noodles. Top this with 1/3 of the chicken mixture, some of the bechamel and 1/4 of the shredded cheese. Repeat this process 2 more times until you have made 2 more layers. Top with 3 more noodles, more sauce, and the last of the cheese. Sprinkle with grated parm. Cover and bake for 30 minutes. Uncover and bake 20 minutes more or until the top is golden brown and it is bubbling.
Cool for 10 minutes, then cut into squares.