Prep the pan and oven. Heat the oven to 350°F (175°C). Grease an 8-inch square pan or a 9-inch round pan and line the bottom with parchment.
Soften the dates. Place chopped dates in a bowl.
Pour over boiling water, stir in baking soda, and let sit for 10 minutes. Mash lightly with a fork until pulpy.
Cream the butter and sugar. In a mixing bowl, beat the butter and brown sugar until light and fluffy, about 2 minutes. Add eggs one at a time, then mix in vanilla.
Combine dry ingredients. In a separate bowl, whisk flour, baking powder, salt, and cinnamon (if using).
Make the batter. Add half the dry mixture to the butter mixture and mix briefly.
Add the date mixture with its liquid, then the remaining dry ingredients. Stir just to combine.
Bake. Spread the batter into the pan and bake for 28–35 minutes, or until the top is springy and a toothpick comes out with a few moist crumbs.
Make the caramel sauce. While the pudding bakes, melt butter in a saucepan over medium heat. Stir in brown sugar, then add cream and salt.
Simmer gently, whisking, for 3–5 minutes until smooth and slightly thickened. Remove from heat and stir in vanilla.
Sauce the pudding. Let the pudding cool for 5 minutes. Poke small holes over the surface with a skewer.
Pour about half the warm caramel sauce over the top, letting it soak in.
Serve. Cut into squares or wedges. Serve warm with extra sauce over each piece. Add ice cream or whipped cream if you like.