Preheat oven to 350°F. Grease and flour three 8-inch cake pans and set aside.
In a large bowl, combine the pumpkin puree, sugar, vegetable oil, eggs, and vanilla extract. In a separate bowl, combine the flour, baking powder, baking soda, cinnamon, nutmeg, ginger, and salt.
Incorporate the dry ingredients into the wet, stirring until well combined.
Evenly pour the batter into the prepared pans. Bake for 25-30 minutes minutes, then allow to cool completely before frosting.
To make the caramel, in a medium saucepan, heat the sugar on medium-low heat for about 5 minutes. Use a spatula to occasionally stir the sugar, getting to the bottom of the pan.
Once the sugar is fully melted and turns a medium gold hue, remove from heat immediately and stir in butter. The mixture will violently bubble. Use your spatula to stir the butter and sugar until they melt together completely.
Next, pour in the heavy cream. Use your spatula to stir until everything is combined. Place back on the stove for about 30 seconds, stirring the whole time. Remove from heat, stir in salt, and allow to cool at room temperature while you make your frosting.
In a standing mixer with a paddle attachment, cream the butter and cream cheese until light and fluffy, about 2 minutes. Add in the vanilla extract, salt, and powdered sugar and whip to combine, about 2 minutes more.
Place the first cake on a plate, then top with a large dollop of frosting. Layer the second and third layers, frosting in between each. Finish with frosting the outside of the cake with the remaining frosting.
Place the slightly cooled salted caramel in a squeeze bottle or piping bag with a small tip (if it’s feeling too solid, place in the microwave for 10 seconds). Starting from the center, squeeze out the caramel in a tight spiral, going all the way to the edge of the cake. When you’re at the edge of the cake, make small zig-zag-like movements to allow the caramel to fall off the side of the cake.
If you’d like, decorate the top of your cake with fresh figs, pomegranate, and blackberries 🙂