In a soup pot over medium heat, add the diced bacon strips. Cook the bacon pieces until they are well rendered and crispy. Then, remove the crispy bacon pieces from the pot and place them on a plate. Dice the onion and mince the garlic.
To the same soup pot over medium heat, add the butter. Allow the butter to melt, then add the diced onion and minced garlic. Sauté the onions and garlic for about 3 minutes until soft and fragrant.
Pour in the chicken broth and scrape the bottom of the pot using a rubber spatula. Ensure that all the browned bits from the bottom of the pot are removed. That is where most of the flavor is.
Then, add the garlic powder, onion powder, dill, parsley, bay leaf, salt, black pepper, shredded chicken, and cream cheese. Bring the soup to a boil, then reduce it to a simmer. Stir to combine and cook uncovered for about 4 minutes.
Reduce the heat to low, then remove the bay leaf. Add the spinach and the heavy cream. Stir and cook for about 2 minutes until the spinach is bright and wilted.
Taste the soup and adjust the seasoning to your preference. Turn off the heat and serve the soup in bowls. Garnish with chopped parsley and crispy bacon.