Melt the butter in a 26 cm / 5-quart Dutch oven over medium heat.
Add the leek and celery. Cook for 5 to 6 minutes, stirring often, until soft and starting to turn translucent.
Add the garlic and cook for 30 seconds until fragrant.
Stir in the cauliflower, stock, bay leaf, and smoked paprika. Bring to a simmer.
Simmer uncovered for 8 to 10 minutes, until the cauliflower is fork-tender.
Place the smoked haddock fillets into the broth, skin side down. Cover and poach for 6 to 8 minutes, until the fish flakes easily and reaches 145 F / 63 C in the thickest part.
Lift the fish onto a plate. Once cool enough to handle, peel off and discard the skin, then break the fish into large flakes. Discard the bay leaf.
Lower the heat so the broth is barely simmering. Whisk in the cream cheese a little at a time until smooth, then stir in the heavy cream.
Simmer gently for 2 to 3 minutes, until lightly thickened. Do not let it boil hard or the cream can split.
Return the flaked haddock to the pot and warm through for 1 to 2 minutes. Season with black pepper and salt to taste.
Ladle into bowls, scatter with parsley, and serve with lemon wedges.