Cut the bread into 1 ½ inch cubes. If your bread is very fresh, put the cubes on a sheet pan and place in a 200-degree oven while you prep the other ingredients.
Melt the butter in a small skillet over medium-high heat and add the shallots. Saute the shallots until they are soft and translucent.
Add the wine and increase the heat to high. Boil the wine mixture until the liquid is reduced to about 2 tablespoons. Set aside to cool.
In a large bowl, add the eggs and half and half and whisk. Add the herbs, cheese, shallot mixture and salt and pepper. Stir to combine.
Add the bread and stir until thoroughly coated with the custard.
Grease a 9 x 13 inch casserole and pour the bread and custard mixture in.
Cover with plastic wrap and refrigerate for one hour or overnight.
Pre heat the oven to 350 degrees.
Uncover the bread pudding and place in the oven.
Bake for 30 to 40 minutes or until a toothpick inserted in the center comes out clean and the top is golden brown.
BREAD: You want a bread with some structure so a baguette, artisanal loaf or crusty sourdough are all ideal. Soft breads like white sandwich bread or Italian bread won't cut it - you're bread pudding will be soggy! Day old or slightly stale bread is ideal for this recipe since it absorbs more of the egg and half and half mixture. This helps keep the pudding from being soggy.
CHEESE: You have some choices here. In testing, a mix of strong and mild flavored cheeses had the best overall flavor. I used Gruyere and Swiss, but you could substitute Parmesan and mozzarella, or White cheddar and either mozzarella or swiss.
HERBS: I used fresh herbs since they provide a fresher flavor and a prettier color. But if you don't have them you can substitute 3Tablespoons of dried herbs for the fresh herbs. TIP: If your herbs are older than 6 months, toss them and buy new ones since dried herbs lose their potency over time.
Seasoning:White pepper isn't as pungent as black pepper with a more complex flavor. If you don't have white pepper, you can substitute black pepper.
Baking dishes: The pudding turns out best in a glass or ceramic baking dish. I used a 9 x 13 inch casserole dish, but you can bake the pudding in a smaller casserole dish. If baking in a smaller casserole dish, you may need to increase the baking time. I would set the timer for 30 minutes and check and then adjust accordingly.
Storage: You can assemble this bread pudding up to a day in advance and store in the refrigerator.
After cooking: the bread pudding can be stored in the refrigerator for up to 2 days after baking.
Re heating: Re heat the bread pudding in a 350 degree oven. Cover the bread pudding with foil and then run under the broiler for a minute to crisp the top if desired.
Freezing: Wrap the bread pudding in plastic wrap and in a layer of foil, label and freeze for up to 2 - 3 months. Defrost in the refrigerator overnight and then reheat as instructed above.