In a medium skillet heat the olive oil over medium heat. Add the onion and saute for 5 minutes.
Add in the garlic and spinach and saute for 2 minutes or until the spinach is just wilted. Remove from heat.
Place the cream cheese in a large bowl. Add the spinach mixture and mix until well combined.
Add in the salt and pepper and mix well.
Spread several tablespoons of the cream cheese mixture onto the center of each chicken breast, leaving a small edge so the mixture doesn't leak out, and roll it up.
Take one or two pieces of bacon and wrap around the chicken. Secure with two toothpicks.
Place the chicken in a greased 9 x 13 baking dish.
Bake for 30-35 minutes or until the chicken is cooked through.
Turn the oven to broil and broil for 2-3 minutes. Flip the chicken over and broil 2-3 additional minutes so that the bacon is crisp on both sides.