01 - Preheat oven to 350°F. Grease a 2-quart baking dish thoroughly.
02 - Whisk together flour, baking powder, baking soda, salt, ground ginger, cinnamon, cloves, and nutmeg in a medium bowl.
03 - Beat softened butter and brown sugar until light and fluffy using an electric mixer or whisk.
04 - Incorporate eggs one at a time into the creamed mixture, then blend in molasses and vanilla extract until smooth.
05 - Add dry ingredients to wet in batches, alternating with milk, mixing just until blended without overmixing.
06 - Pour batter into prepared dish, smooth the surface, and bake for 35 to 40 minutes. Check doneness with a toothpick; it should come out clean.
07 - While pudding bakes, combine sugar and water in saucepan. Heat over medium without stirring until sugar dissolves and caramelizes to deep amber, swirling pan gently.
08 - Remove from heat, carefully whisk in heavy cream, then stir in butter and salt until fully smooth.
09 - Allow pudding to cool 10 minutes, then serve warm drizzled generously with caramel sauce.