Preheat oven to 400°F (200°C); slice the tops off garlic heads, drizzle with 1 tablespoon olive oil, wrap in foil, and roast for 40 minutes until golden and soft.
Squeeze the roasted garlic cloves out of their skins into a small bowl and mash with a fork into a smooth paste.
In a large pot over medium heat, melt the butter and sauté the diced onion until translucent and tender, approximately 6 minutes.
Add the garlic paste and thyme sprigs to the pot, then stir in the chicken stock and 2 cups of the bread cubes; simmer for 15 minutes to soften the bread.
While the soup simmers, toss the remaining 2 cups of bread cubes with 2 tablespoons olive oil and Parmesan cheese, then bake at 400°F for 8-10 minutes until crispy.
Remove the thyme sprigs from the pot and use an immersion blender to process the soup until it is completely smooth and aerated.
Stir in the heavy cream, season with salt and pepper, and serve hot topped with the homemade Parmesan croutons and fresh parsley.