Preheat the oven to 400°F. Cook bacon in a large deep skillet or dutch oven over medium low heat, stirring occasionally. Once crisp, remove to a paper towel lined plate. Remove all but 2 tablespoons of the bacon grease and turn up heat to medium-high. Season chicken with salt and pepper. Add to the skillet and cook for about 5-6 minutes, until golden brown. Flip chicken and move the skillet to the oven. Roast chicken until just cooked through, about 10-15 minutes.
Remove chicken from pan and return to the stovetop over medium heat. Add butter and onions and cook, stirring occasionally until onions are softened, about 4-5 minutes. Add garlic and cook for 1 additional minute, stirring frequently.
Add chicken broth to the pan and stir, scraping all the brown bits from the bottom of the pan. Add heavy cream, baby spinach, Italian seasoning, parmesan, and season with salt and pepper. Cook, stirring occasionally, until spinach is wilted and sauce has slightly thickened.
In a small bowl, mix cornstarch with 1 teaspoon of water to create a slurry. Pour into pot stir and cook for 2-3 minutes until sauce has thickened. Add chicken and bacon, spoon sauce over chicken, and serve.