Cook diced bacon in Dutch oven or large pot until crispy. Remove bacon when crispy and set aside, leaving bacon grease in pan. Add butter and onion and saute. Add the garlic. Add the chicken broth, and scrape all the brown bits from pan. Add the chicken, warm for 5 minutes, then add the cream cheese, stir until this melts, add the cheddar cheese and stir until melted. Add spinach, and heat for another 3-4 minutes. Stir in the heavy cream, and warm another minute. Serve with the reserved, cooked bacon and scallions on top of each bowl.