In a large pot, melt 1 tablespoon butter over medium heat. Add shrimp shells and sauté for 3-4 minutes until pink and fragrant. Add 1 cup of broth, simmer for 10 minutes, then strain and discard shells. Set flavored broth aside.
In the same pot, melt remaining 2 tablespoons butter. Add onion and celery, cooking until softened, about 5 minutes. Stir in garlic and cook for 1 minute more.
Sprinkle flour over vegetables and stir constantly for 2 minutes to create a roux. Slowly whisk in the reserved shrimp broth and remaining 2 cups of broth.
Stir in tomato paste, sherry, paprika, and cayenne. Bring to a simmer and cook for 10 minutes, stirring occasionally.
Add shrimp and cook until just pink and cooked through, about 3-4 minutes. Remove about half the shrimp and set aside.
Using an immersion blender (or regular blender in batches), carefully blend the soup until smooth and creamy.
Stir in heavy cream and the reserved whole shrimp. Heat through and season with salt and pepper to taste. Garnish with fresh parsley and serve hot with crusty bread.