In a large bowl, whisk eggs and milk until foamy.
Set aside.
In a large heavy pan, melt 2 tbsp butter.
Add diced onion and mushrooms and brown.
When onions and mushrooms are browned, add spinach and wilt until it is cooked down, about 5 minutes. (add a little bit at a time if it overcrowds your pan).
Remove from heat.
In a well greased 9x13 pan, lay down 3-4 slices sourdough bread to cover bottom of pan. Don't worry if there are small gaps.
Layer 1/2 mushroom, onion spinach mix on bread.
Add crumbled goat cheese.
Add another layer of bread, then another layer of vegetables and 1/2 cup cheddar cheese.
Add another layer of bread and top with 1/2 cup cheddar cheese.
Slowly pour egg and milk mixture over layers. Make sure the top layer all has a little egg mixture on it.
The egg/milk mixture should come almost to the top of your pan. If your bread is particularly dry, you can add a bit more milk and a few more eggs- but if you are within 1/2" of the top layer, you're fine.
Cover with plastic wrap or tinfoil and refrigerate overnight.
In the morning, bake in a preheated oven at 375 for 45 minutes or until very puffy and golden.
Serve immediately- strata will deflate a bit over time.