In a large, deep skillet, heat olive oil on medium-high heat.
Place chicken breasts in skillet and brown on both sides until cooked through, about 5-7 minutes per side.
While chicken is cooking, in a large pot, cook your pasta according to the packaging instructions.
Once chicken is cooked, remove from pan and allow to cool. Once cooled, dice into bite-sized pieces.
Add in 1 tbs. butter, along with sliced onions and minced garlic and reduce heat to medium-low.
Cook onions and garlic until caramelized and deep brown. This may take about 30 minutes.
In a separate pan, cook bacon until crispy.
Once cooked, remove to a paper towel-lined plate to cool and drain off some of the fat.
In pan with caramelized onions, add in another tbs. butter, whole milk, heavy cream, cheese, chopped spinach, red pepper flakes, and salt and stir to combine.
Add in cooked pasta, chopped chicken, and crumbled bacon. Gently stir to coat with sauce.