Preheat the oven to 350 degrees F.
In a large bowl, add butter and sugars and beat together for 2 minutes. Add vanilla extract, and then add the eggs, one at a time. Add sweet potato puree and sour cream and continue to beat together until combined and smooth.
In a separate bowl, combine flour, baking powder, baking soda, salt, cinnamon, ginger, and nutmeg. Whisk together and add to sweet potato mixture. Continue to mix just until all ingredients are combined and the batter is smooth.
Spray a 10-cup bundt pan with nonstick baking spray and add batter. Tap the pan against the countertop to release any air bubbles and bake for one hour to an hour and 10 minutes - until a toothpick comes out clean.
While the cake is baking, make the icing. Add cream cheese and butter to a stand mixer with the paddle attachment. Cream together until smooth. Then add a pinch of salt, nutmeg, powdered sugar, and vanilla extract. Begin mixing on low speed, gradually increasing to high for about 20 seconds.
Once the cake is finished baking, allow the cake to cool for 5 minutes in the bundt pan, then turn onto a cooling rack to cool completely.
Add icing on top of the cake and enjoy!