Preheat oven to 400 degrees Fahrenheit. Spray or butter the bottom and sides of a 9x13 inch baking dish.
Heat the butter over medium-high heat. Add the leeks and mushrooms and cook, stirring occasionally, for 20-25 minutes, or until the leeks have softened and browned and the mushrooms have released their liquid and begun to reduce. Add the spinach and garlic and cook for another 2 minutes, or until the spinach has wilted. Season with just a dash of salt and pepper. Remove from heat and set aside.
In a large bowl, mix together the eggs, milk, salt, pepper, and 1 1/2 cups of the cheese until well-combined. Add the bread cubes and mix everything together with your hands until the bread cubes are thoroughly soaked in the egg mixture. Transfer the bread and egg mixture to the prepared baking dish and top with the remaining 1/2 cup cheese. Bake for 25-30 minutes, or until the bread pudding is set in the middle and golden brown on top.