Melt the butter in a large heavy-bottomed stockpot or Dutch oven over medium heat.
Add the sliced leeks and sauté for 5 to 7 minutes until soft and translucent, ensuring they do not brown.
Stir in the carrots, potatoes, allspice berries, and bay leaves; cook for 2 minutes to coat the vegetables in butter.
Pour in the fish stock and bring the mixture to a boil over medium-high heat.
Reduce the heat to a simmer, cover, and cook for 12 to 15 minutes, or until the potatoes are just fork-tender.
Lower the heat to low and pour in the heavy cream, stirring gently to combine.
Add the salmon cubes to the pot and simmer very gently for 3 to 5 minutes until the salmon is opaque and just cooked through; avoid a rolling boil to prevent the fish from breaking.
Remove the pot from the heat and extract the bay leaves.
Stir in the fresh dill and season with salt and pepper to taste.
Cover the pot and allow the soup to rest for 5 minutes before serving to let the flavors emulsify.