Preheat the oven to 400 degrees F (200 degrees C).
Trim 1/4 inch off the top stem end of each garlic bulb, and remove the loose outer papery layers. Place cut sides up on a piece of foil large enough to hold all of the garlic heads. Drizzle with olive oil. Wrap the foil tightly around the garlic heads, and place the foil packet upright in a small baking dish.
Roast in the preheated oven until tender and fragrant, 40 to 60 minutes. Set aside to cool.
Meanwhile, melt butter in a soup pot over medium-high heat. Add onion and thyme and saute until onion is translucent, 3 to 5 minutes. Stir in white wine, and cook for 3 minutes.
Reduce heat to a low boil and stir in chicken stock and potatoes. Cover the pot, and cook until potatoes are tender, 15 to 20 minutes.
When garlic is cool enough to handle, squeeze soft cloves out of the skin, smash into a creamy paste with a fork, and stir into the hot soup.
Use an immersion blender to puree soup until smooth. If using a regular blender, don’t fill the container to the top. Allow the soup to cool a few minutes, add half to the blender each time. Hold the lid down with a towel while blending to avoid the possibility of soup splashing out, and return soup to the pot.
Stir in cream and Parmesan, and season with salt and pepper. Simmer soup for another 5 minutes. Top with bacon, sprinkle with parsley, and serve hot.