Brown the Italian sausage in a large skillet over medium heat, breaking it into crumbles, then drain excess fat and set aside to cool.
In a large bowl, whisk together eggs, milk, garlic powder, salt, and pepper until well combined.
Grease a 9x13-inch baking dish and layer the bread cubes, cooked sausage, broccoli, onion, and cheese evenly in the dish.
Pour the egg mixture over everything, pressing down gently to ensure all bread is soaked, then cover tightly with foil and refrigerate overnight.
In the morning, preheat oven to 350°F and bake covered for 30 minutes, then uncover and bake an additional 15 minutes until golden and set in the center.