In a large saucepan, combine the cauliflower, onion, and broth. Cover and bring to a boil, then reduce heat and cook over medium heat for 10 minutes.
While the cauliflower is cooking, melt butter in a medium saucepan.
Stir in flour until smooth. Gradually add milk, stirring to keep lumps from forming. Cook and stir until bubbly and thickened, about 2 minutes.
Reduce heat, then add cheese and seasonings.
Use an immersion blender to blend cauliflower until smooth.
Pour milk-cheese mixture into cauliflower puree. Use immersion blender again to blend until velvety.
Serve immediately and top with black pepper, parsley, and reserved cheese.