Preheat the oven to 425°F (220°C) and line a large baking sheet with parchment paper.
Place the cauliflower florets on the baking sheet. Slice the top from the garlic bulb to expose the cloves and place it beside the cauliflower. Drizzle everything with olive oil and season with salt and black pepper.
Roast for 25–30 minutes, turning the cauliflower once, until the edges are deeply golden and caramelized and the garlic is soft.
While the vegetables roast, heat 1 tablespoon olive oil in a large pot over medium heat. Add the onion and cook for 5–6 minutes, until softened and translucent.
Squeeze the roasted garlic cloves from their skins into the pot. Add the roasted cauliflower, vegetable broth, milk, Dijon mustard, smoked paprika, thyme, salt, and black pepper.
Bring the soup to a gentle simmer and cook for 10 minutes to allow the flavors to combine.
Blend the soup with an immersion blender until smooth and creamy. If using a countertop blender, work in batches and vent the lid carefully.
Reduce the heat to low. Gradually stir in the shredded cheddar and Parmesan until completely melted and smooth. Do not allow the soup to boil after adding the cheese.
Taste and adjust the salt and pepper as needed.
Ladle the soup into bowls and top with extra cheddar, fresh parsley or chives, cracked black pepper, and croutons if desired. Serve