Preheat oven to 400°F.
Slice the tops from the garlic bulbs, drizzle with a little olive oil, wrap in foil, and roast for 40–45 minutes, until soft.
Add butter and olive oil to a large Dutch oven over medium-low heat.
Add sliced onions, sugar, and a pinch of salt.
Cook for 30–40 minutes, stirring often, until deeply caramelized.
Remove a small amount of the onions and reserve for topping.
Add the white wine and scrape up the browned bits from the bottom of the pot. Add a splash of chicken stock if needed.
Stir in the flour.
Squeeze the roasted garlic cloves into the pot.
Add the remaining chicken stock, dried thyme, and Parmesan rind.
Simmer for 10–15 minutes.
Remove the Parmesan rind and blend the soup until smooth using an immersion blender.
Season with salt and black pepper to taste.
Reduce heat to low and stir in the heavy cream and grated Parmigiano Reggiano.
Serve topped with reserved caramelized onions and additional Parmesan if desired.