Melt the butter in a large pot or Dutch oven over medium heat. Add the leeks, celery and carrot and cook, stirring occasionally, until the vegetables have softened but not browned, about 10 minutes.
Add the ginger, garlic, thyme, curry powder and potato. Cook, stirring, until the potato is coated in the spices, 1 to 2 minutes. Add the chicken broth, 2 cups water and the sugar and bring to a boil. Add the corn, then reduce the heat to medium low and simmer until the vegetables are tender, about 25 minutes. Add the heavy cream and continue cooking until warmed through, about 5 more minutes. Remove from the heat and let cool slightly.
Working in batches, transfer the soup to a blender and puree until smooth; return to the pot. Season with salt. Strain through a fine-mesh sieve into a saucepan and reheat if needed. Serve with toppings.