Heat oven to 325°F. Cut off tops of garlic heads. Place each on a piece of parchment-lined aluminum foil. Sprinkle with salt and pepper, and drizzle with olive oil. Wrap tightly in foil, and bake until garlic is very soft, about 1 hour. Let cool. Squeeze garlic from peel; set aside. Increase oven to 350°F.
In a large pot over medium heat, add 1/4 cup olive oil and onions; season with salt and pepper. Cook, stirring, until soft but not browned. Stir in cauliflower, thyme bundle, and chicken stock. Bring to a simmer. Cover and cook for 20 minutes. Remove cover, and simmer until cauliflower is soft, about 15 minutes. Remove from heat.
Remove thyme and stir in cream and 2 1/2 cups Parmesan. Season with salt and pepper. Stir in garlic. Puree in batches until smooth. Thin with more stock or cream, if desired. Return to pot; keep warm on low heat.
Heat remaining 1/4 cup olive oil over high heat in a saute pan until almost smoking. Add cauliflower florets, stirring until browned. Season with salt and pepper. Transfer pan to oven and cook until tender, about 10 minutes. Stir in parsley, and remaining 3 tablespoons Parmesan. To serve, ladle soup into bowls, and garnish with cauliflower florets. Serves 12.
Approximate Nutrient Analysis per serving (not including salt to taste):
250 calories, 16 g fat, 5 g saturated fat, 20 mg cholesterol, 950 mg sodium, 19 g carbohydrate, 5 g fiber, 6 g sugar, 11 g protein