12-14 1/2-inch slices stale French or Italian bread
(or dry, in a single layer, in a 225F oven for 40 minutes)
8 tbs butter, room temperature
1 small onion, finely diced
1 bunch fresh spinach, stemmed, washed
10 oz mushrooms, sliced
3 cloves garlic, minced
10 oz smoked Gruyere, shredded
10 large eggs
3 1/2 cups milk
kosher salt/freshly ground pepper
Butter bread with 4 tbs of the butter. Set aside. Heat 3 tbs butter in a large pan. Cook onion and garlic until translucent. Add mushrooms and cook until soft, then spinach until wilted. Drain in a sieve, squeezing out excess moisture. Season to taste. Set aside.
Butter a shallow 9 by 13-inch baking dish. Arrange with half of the bread slices, buttered side up, in a single layer. Sprinkle with half of the spinach mixture, then 1/3 of the Gruyere. Arrange remaining bread over top, and top with remaining spinach mixture and 1/3 of the cheese.
In a large bowl, whisk eggs together with milk, 1 tsp salt and about 10 turns of a pepper mill. Pour egg mixture over bread. Place dish on a baking pan and cover with plastic wrap. Place another baking dish on top and add weights (two 1 litre tetra pack juices work perfectly). Refrigerate for at least an hour or overnight.
Remove weights, uncover and let dish stand at room temperature for 20 minutes. Sprinkle with remaining cheese, then bake in a 325F oven for about an hour, until bread has puffed up and is set in the centre. Let set for five minutes before serving.