Grease or spray a 9x13-inch (or similar size) casserole dish with nonstick spray.
Arrange the bread in a single layer in the dish and set it aside.
In a large skillet, cook the bacon according to the package directions. Remove all but 1 tablespoon of the fat. (Alternatively, drain all of the fat and add 1 tablespoon of olive oil to the skillet.) Allow the bacon to cool until it is safe to handle. Then, slice it into bite-sized pieces. Sprinkle the bacon over the bread.
Add the onion and garlic to the skillet and cook for 4 minutes over medium heat until tender. Add the spinach and cook, stirring periodically, until the spinach has wilted, about 2-3 minutes. Remove from the heat. Spoon the spinach mixture over the bread/bacon and top with the cheese.
In a large mixing bowl, combine the eggs, milk, salt, ground mustard, and pepper. Distribute equally over the cheese. Cover securely and place in the refrigerator for 1 hour or overnight (up to 12-16 hours).
Allow the casserole to come to room temperature for 15 minutes after removing it from the refrigerator.
Preheat the oven to 375 degrees Fahrenheit (191 degrees Celsius).
Bake the casserole for 20 minutes, uncovered. Bake for 30-35 minutes, loosely covered with aluminum foil. The casserole is done when the sides are browned and the center is puffy. This normally takes 50-55 minutes altogether.
Remove from the oven, sprinkle with desired garnish(es), and set aside for 5 minutes before serving.
Refrigerate leftovers for up to 5 days, securely wrapped in plastic wrap. Microwave to reheat.