In a large pot, cover the sweet potato pieces with cold salted water. Bring to a boil and cook until tender, about 20 minutes. Drain.
Transfer the sweet potatoes to a bowl. Add about 1/4 cup (60 milliliters) of the vegetable stock and mash until smooth.
Place the butter into the now empty pot over medium heat.
Once melted, add the onion, celery, and apple. Cook, stirring occasionally, until starting to soften.
Stir in the garlic and ginger until fragrant, about 30 seconds to 1 minute.
Add the mashed sweet potatoes. Stir in the brown sugar, cinnamon, cloves, cardamom, and nutmeg. Season with salt and pepper.
Pour in the remaining vegetable stock. Bring the soup to a boil, then reduce to a simmer. Cook, stirring occasionally, for 30 minutes. If the mixture thickens too much, add a little more stock or water.
Adjust seasonings to taste, then remove from heat.
Use an immersion blender to puree the soup until smooth. You can also carefully transfer it to a stand blender to puree until smooth.
Stir in the heavy cream.
Serve the soup immediately drizzled with additional heavy cream and chopped pecans if desired.