Prepare the cauliflower: Cut the cauliflower into evenly sized florets. Chop the onion and mince the garlic.
Sauté the aromatics: Heat the olive oil in a large pot over medium heat. Add the onion and cook for about 5 minutes, until softened. Add the garlic and cook for another 30 seconds.
Cook the cauliflower: Add the cauliflower florets and broth. Bring to a gentle boil, then reduce the heat and simmer for 15–20 minutes, or until the cauliflower is very tender.
Blend the soup: Use an immersion blender to puree the soup directly in the pot until smooth and creamy. Alternatively, carefully blend it in batches using a countertop blender.
Add the cream and Parmesan: Stir in the heavy cream and Parmesan over low heat. Season with salt, black pepper, and thyme, if using. Add a little extra broth if the soup is too thick.
Crisp the prosciutto: While the soup is cooking, heat the oven to 400°F. Arrange the prosciutto slices in a single layer on a parchment-lined baking sheet. Bake for 8–12 minutes, or until browned and crisp. Allow to cool for a few minutes, then break into pieces.
Taste and adjust: Taste the soup and adjust the seasoning. Remember that both Parmesan and prosciutto are naturally salty, so add salt gradually.
Serve: Ladle the hot soup into four bowls. Top each serving with crispy prosciutto, a sprinkle of Parmesan, freshly cracked black pepper, and fresh herbs if desired.