If the bread is not already stale, spread in a single layer on a baking sheet, and place in a 300 degree F oven for 15-20 minutes, until dry.
Increase the oven temperature to 350 degrees F. Butter a 4-quart casserole dish (or a similar sized baking dish), set on top of a baking sheet and set aside.
Combine the bread and milk in a large bowl. Let the ingredients sit until most of the milk is absorbed, approximately 10 minutes. Stir in the eggs, sugar, raisins, cream, cinnamon, and vanilla.
Pour the ingredients into the prepared casserole dish, and let stand on the counter for 20 minutes to give the mixture time to soak into the bread.
If a lot of raisins are on the surface, you can press some of them down for more even distribution. You can also optionally press down on the bread with clean hands, gently, to compress the ingredients a bit. Top evenly with the pieces of butter.
Place the baking sheet with the casserole dish in the oven and bake for approximately 55-65 minutes, or until a knife inserted into the middle comes out clean.
Let the bread pudding cool for at least 15 to 20 minutes before serving. Store leftovers in an airtight container in the refrigerator and enjoy within 5 days.
Make-ahead: Bread pudding can be made one day in advance, refrigerated overnight and baked before serving (this is my preferred method). Alternatively, you can bake it one day in advance and keep it refrigerated up to two days, then reheat before serving.Adapted from The Hamilton Cookbook by Laura Kumin