Preheat oven to 325°F. Grease and line a 8" square or round baking pan. Set aside.
In a medium bowl sift together cake flour, baking powder, salt, cinnamon, ginger, cardamom and nutmeg. Set aside.
In a standing mixer fitted with a paddle attachment, cream the butter and sugar until light and fluffy, about 3 minutes.
Add in the eggs, one at a time, beating between additions. Mix in the vanilla extract and sour cream. Don't panic if the batter looks curdled.
Mix in half the dry ingredients, followed by buttermilk, and then remaining half of the dry ingredients. Mix only until combined.
Pour batter into prepared pan. Bake for 30-35 minutes, or until a toothpick inserted in the middle comes out free of wet batter. Allow to cool completely before frosting.
In a small bowl mix together hot water and espresso powder and set aside. In a standing mixer with a paddle attachment, cream the butter, powdered sugar and heavy cream together for about 2 minutes until all smooth. Add more or less powdered sugar and cream to get a nice thick consistency. Pour in cooled espresso and mix together. Frost cooled cake. Take caramel sauce and using the back of a spoon dip the caramel and make wave motions over the top of the buttercream to create little swirls of caramel throughout.