Preheat the oven to 180 C / Gas 4. Grease a baking dish.
Breadcrumb the stale bread using a food processor then place in a large mixing bowl. In a large frying pan over a medium heat, melt the butter and add the mushrooms. Cook and stir until golden brown then add to the breadcrumbs. In the same frying pan, add the onion, garlic and celery and cook and stir until soft; add to the mixing bowl. Add the remainder of the ingredients to the mixing bowl and mix well with hands. Transfer to the prepared baking dish.
Bake covered in the preheated oven for 35 to 45 minutes then remove the cover for the last 10 minutes until the top is crispy. Remove from the oven and serve.