In a large bowl, whisk the eggs with the sugar, vanilla, spices, and salt.
Stir in the half-and half until well blended.
Toss in the bread cubes and raisins and stir.
Cover with plastic wrap directly on the surface, and let sit at room temperature, pressing down on it occasionally to submerge the bread in the custard, for at least 45 minutes and up to 2 hours.
Position a rack in the center of the oven and heat to 350°F.
Bring a kettle of water to a boil.
Butter a 9-inch square baking dish.
Pour the pudding into the prepared dish and place it into a larger baking or roasting pan.
Put the pan in the oven.
Carefully pour enough hot water into the pan to reach about halfway up the sides of the baking dish.
Bake until a knife inserted in the center of the pudding comes out almost clean, 50 to 55 minutes.
Carefully lift the baking dish out of the water and transfer to a rack to cool.
Melt the butter in a small saucepan over medium heat.
Whisk in remaining ingredients.
Simmer until the sauce has thickened, whisking often, about 3 minutes.
Remove the pan from the heat and let cool slightly.
Serve the bread pudding warm or at room temperature with the sauce.