Preheat the oven to 180˚C fan-forced or 200˚C conventional. Grease and line a 20 cm x 30 cm baking tin.
For the pudding, add the dates and 420 ml of water to a small saucepan and bring to the boil. Add the bi-carb, stir and set aside to cool.
In a stand mixer with the whisk attached, cream the butter and sugar until pale. Add the vanilla and whisk in. Add the eggs one at a time while beating, making sure each egg is incorporated before adding the next. Off the mixer, sift the flour, cinnamon and ginger into the bowl and mix in vigorously with a spatula. Fold in the dates along with any liquid until incorporated. Pour the mixture into the prepared tin and bake for 30 minutes. Check with a skewer, if it comes out clean it’s cooked.
While the pudding bakes, make the caramel sauce. In a medium heavy-based saucepan over medium heat, add the caster sugar and 25 ml of water. Stir until the sugar has just dissolved and cook, without stirring, until you have a medium coloured caramel. Remove the pan from the heat, add the butter and stir. Add the brown sugar, golden syrup, cream and salt one by one, stirring to incorporate after each addition.
Return the pan to the heat and bring back to the boil, being careful that it doesn’t boil over. Reduce the heat to low and simmer for around 4 minutes until the caramel reaches 113˚C on a sugar thermometer. Pour out of the pot into a jug or bowl and allow to cool slightly. If the sauce cools and thickens too much, thin with a little hot water and reheat. If you need to refrigerate, place the jug in a pot of hot water to loosen.
Once the pudding is cooked, remove from the oven and stand for a couple of minutes. Scoop out portions of the pudding with a large spoon and place in your serving bowls, dust with icing sugar (if using), top with vanilla ice cream and pour over a generous serving of the butter caramel sauce.