Preheat the oven to 350 degrees F. Spray a 9x13-inch glass baking dish with nonstick spray. Set aside. (If using metal baking dish, note that your baking time will be slightly shorter).
In a medium size bowl, whisk together the flour, ginger, cinnamon, baking soda and salt. Set aside.
In the bowl of a stand mixer fitted with the paddle attachment, beat the butter and sugar together on medium-high until smooth and fluffy, about 2 to 3 minutes. Be sure to scrape down the sides and bottom of the bowl a couple times while it’s mixing.
Add the molasses and mix on medium-high until the texture is smooth.
Add the eggs and mix again on medium-high for about 2 more minutes.
With the mixer on slow, alternately add the flour mixture and the buttermilk, starting and ending with the flour mixture. Mix only until no streaks of flour remain.
Use a spatula to scrape down the sides and bottom of the bowl to ensure all the ingredients are incorporated.
Pour the batter into the pan.
Bake for about 35 minutes, or until a toothpick inserted in the center of the cake comes out with a few moist crumbs on it. I’d suggest reducing the baking time by about 5 minutes if you’re using a metal pan.
Allow the cake to cool in the pan.
Before adding the caramel on the cake, use the back of a wooden spoon, a straw, or even a fork to poke holes all over the cake. The more holes the better! We want the caramel to soak the cake.