If using crab shells, crack them into pieces. In a large pot, melt butter over medium heat. Add shells and cook, stirring, for 5 minutes until fragrant. (If using only meat, skip this step and start with step 2.)
Add onion, carrot, celery, and garlic. Cook until softened, about 5 minutes. Stir in tomato paste and cook 2 minutes.
Sprinkle flour over vegetables and stir, cooking 1 minute. Gradually whisk in stock, then add bay leaf and paprika. Bring to a boil, reduce heat, and simmer 20 minutes, stirring occasionally.
Remove from heat. Discard crab shells and bay leaf. Use an immersion blender (or carefully transfer to a blender) to puree soup until smooth.
Return soup to pot over low heat. Stir in heavy cream and sherry. Season with salt and white pepper. If using crab meat, add it now and heat through without boiling.
Serve hot, garnished with a pinch of paprika or fresh chives if desired.
Tips
For extra richness, replace half the cream with whole milk to lighten.
Store leftovers in the refrigerator for up to 3 days; reheat gently to avoid curdling.
Can be frozen without cream; add cream after thawing and reheating.