Melt butter in 1 tablespoon oil in a Dutch oven or a soup pot on low medium heat.
Add diced onion and cook, stirring often, until softened, about 3-5 minutes.
Add diced carrot and leek (if using) and cook 3 more minutes, stiring.
Finally, add minced garlic and cook until fragrant, about 1 minute.
Add diced potatoes, broth, allspice and bay leaves, and bring to a boil.
Partially cover the pot and cook for 10 minutes.
While the soup is boiling, melt 1 tablespoon of butter in a skillet and add grated pickles. Cook until all of the liquid evaporates (5-10 mins), stirring often. Now the pickles and pickle brine to the soup and cook 10 more minutes.
Check potatoes for doneness. Once tender, stir in cream and chopped dill. Remove bay leaves and allspice.
Taste and season with salt and pepper, if needed. You can also add a little more pickle brine, if you prefer brinier soup.