Preheat oven to 350°F and grease a 9x13-inch baking dish.
Brown the ground beef in a large skillet over medium heat, breaking it into crumbles, then drain excess fat and season with salt and pepper.
Layer half of the bread cubes in the prepared baking dish, then top with ground beef, crumbled bacon, and half of both cheeses.
Add remaining bread cubes on top and sprinkle with remaining cheese.
Whisk together eggs, milk, melted butter, garlic powder, and onion powder in a large bowl, then pour evenly over the casserole.
Press down gently with a spatula to ensure bread absorbs the liquid, then let sit for 10 minutes.
Bake uncovered for 35-40 minutes until golden brown and set in the center.
Let cool for 5 minutes before cutting into squares and serving.