Melt the butter in a large pot over medium heat. Add onions, garlic, and celery. Sauté until soft, about 5-7 minutes.
Stir in the flour to create a roux. Cook for 1-2 minutes, stirring constantly.
Slowly add the seafood stock, whisking to eliminate lumps. Simmer for 10 minutes.
Use an immersion blender to puree the soup until smooth. Add the heavy cream, Old Bay, thyme, and cayenne. Simmer gently.
Add the shrimp and crab, cooking until the shrimp is pink and opaque, about 5-7 minutes.
Season to taste, serve warm, and garnish with fresh herbs.