In a large skillet, heat oil over medium-high heat until shimmering. Saute mushrooms and onion in oil until about 3/4 done, 3-4 minutes. Add celery and cook another 1-2 minutes. Add garlic and cook another 30 seconds, until fragrant. Remove from heat.
Toss bread cubes with mushroom mixture, herbs, salt and pepper.
Whisk together half-and-half, milk, eggs and egg yolks. Pour over bread and mushrooms, and toss to combine.
Butter a 6 qt glass or ceramic baking dish, or spray with non-stick spray. Pour bread pudding into dish, leveling off the top. Bake in preheated oven 50-60 minutes, until the center is barely set. (Do not overcook, or the custard will scramble.).