Preheat the oven to 350F/180C. Have a baking dish around 10in x 7in (25cm x 18cm) and at least 1 ½in (4cm) deep ready - you can also use other shapes but with roughly the same volume.
Place the flour, baking soda and salt in a small bowl and mix together so the baking soda and salt and well distributed.
In a large bowl, add the sugar, egg, apricot jam and butter and mix well. I suggest using a mixer to largely cream them together, but you can also mix by hand.
Add the vanilla and vinegar to the milk and mix through. Then alternate between adding part of the milk mixture and part of the flour mixture to the egg-sugar mixture, mixing in as you go, until everything is incorporated.
Pour the mixture into the baking dish and place in the oven to bake. It should take around 35 - 45 minutes to become golden brown and cooked through - test the middle with a skewer to check it comes out clean.
As the pudding is almost ready, place the cream, water, sugar, butter and vanilla for the sauce in a small saucepan. Place the pan over a medium-low heat and warm, stirring regularly, to melt the butter and dissolve the sugar. You can continue to warm a couple more minutes and it will become a little more caramel-y but try to avoid it boiling.
Once the pudding is done, remove from the oven and prick the top all over with a skewer - this helps the sauce absorb in better. Pour around half of the sauce evenly over the top and wait a minute or two for it to soak in. Then pour more of the sauce over, trying to distribute it evenly and not have it pool too much in the edges. Repeat, as needed until all is added. It's ready to serve once the sauce has soaked in. Best served warm (it works well to re-heat).