Melt the butter in a dutch oven or large pot over medium-high heat. Add the onion, celery, and potatoes. Cook, stirring often, about 5 minutes.
Add the garlic, paprika, cayenne, 1 tsp salt, and ½ tsp pepper to the pot and stir to coat the vegetables. Pour in the chicken stock and bring to a boil. Reduce heat to medium-low and cook, stirring occasionally, until potatoes are tender, 15 to 20 minutes.
Ladle HALF of the soup and vegetables into a blender or food processor and pulse until smooth then return to the pot.
Add the cod to the soup, cover the pot and simmer until cod is cooked through, about 10 minutes.
Uncover the pot, stir in the heavy cream and simmer until heated through, about 2 more minutes. Season with salt and pepper to taste.
Ladle into bowls and garnish with green onion.
