In a large pot, heat the olive oil over medium heat. Add the chopped onion and sauté until translucent, about 5 minutes.
Stir in the minced garlic and cook for an additional 1 minute until fragrant.
Add the cauliflower florets to the pot and pour in the vegetable broth. Bring to a boil, then reduce heat and simmer for 15-20 minutes, or until the cauliflower is tender.
Remove the pot from heat and use an immersion blender to puree the soup until smooth. Alternatively, carefully transfer the soup in batches to a blender and blend until smooth.
Return the pureed soup to the pot and stir in the milk, salt, black pepper, nutmeg, and Parmesan cheese (if using). Heat over low until warmed through, about 5 minutes.
Serve hot, garnished with fresh parsley.