Heat olive oil or butter in a large pot over medium heat and cook the chopped onion until soft and translucent, then add garlic and cook briefly until fragrant.
Add the chicken to the pot, season with salt, black pepper, thyme, rosemary, and paprika, then pour in the chicken broth and simmer until the chicken is fully cooked and tender.
Remove the chicken, shred it, and return it to the pot along with celery and cauliflower, then simmer until the vegetables are tender.
Lower the heat and stir in the heavy cream and cream cheese if using, mixing until the soup is smooth and creamy.
Taste and adjust seasoning, then garnish with fresh parsley or green onions before serving.