Prepare your baking dish. Grease a 9x13 inch baking dish with butter. Make sure to coat the sides well to prevent sticking.
Cook the meat. Brown the breakfast sausage in a large skillet over medium heat. Break it into small pieces as it cooks. Drain excess grease and set aside to cool.
Sauté the vegetables. In the same skillet, cook the diced onion and bell pepper until softened, about 5 minutes. Add garlic and cook for another minute. Remove from heat.
Layer the bread. Spread the cubed bread evenly across the bottom of your prepared baking dish. This creates the foundation for your casserole.
Add the fillings. Distribute the cooked sausage, sautéed vegetables, and both cheeses over the bread cubes. Mix gently to combine everything.
Whisk the egg mixture. In a large bowl, beat together eggs, milk, salt, pepper, paprika, and dry mustard until well combined and slightly frothy.
Pour and soak. Pour the egg mixture evenly over the bread and fillings. Press down gently with a spatula to ensure all bread pieces are soaked. Cover with plastic wrap and refrigerate overnight, or for at least 4 hours.
Bake the casserole. Remove from refrigerator 30 minutes before baking. Preheat oven to 350°F. Bake uncovered for 45-55 minutes until the center is set and the top is golden brown.
Rest before serving. Let the casserole stand for 10 minutes before cutting. This helps it set up properly and makes serving easier.