Preheat the oven to 350 degrees F.
Coat a 9x13-inch baking dish with nonstick cooking spray.
Line a large platter with paper towels.
In a large skillet over medium heat, add the bacon pieces and cook, while stirring occasionally, until crispy and browned, about 6-10 minutes.
Using a slotted spoon, transfer the bacon pieces from the skillet to the prepared large platter to drain.
Reserve about 1 tablespoon of the bacon drippings in the skillet, draining the remainder.
In the skillet with the reserved bacon drippings over medium heat, add the onions and the red bell peppers and cook, while stirring frequently, until tender, about 5 minutes.
Add the garlic to the onion mixture and cook, while stirring frequently, until fragrant, about 1-2 minutes. Set the onion mixture aside.
In a large bowl, add the eggs and beat until combined.
Add the milk to the beaten eggs and whisk to combine.
Add the onion mixture, the diced potatoes, and 1 cup of the cheddar cheese to the egg mixture and stir to combine.
Add 1/4 cup of the cooked bacon to the egg mixture and stir to combine.
Add the salt and the black pepper to the egg mixture and stir to combine.
Add the egg mixture to the prepared baking dish.
Top the egg mixture evenly with the remaining cheese.
Bake until the eggs start to set, about 20 minutes.
Transfer thebaking dish from the oven to a wire rack and evenly add the remaining bacon to the top of the egg mixture.
Transfer the baking dish back to the oven and bake again until the eggs are firm and the top is slightly golden-brown, about 20-30 minutes.
Transfer the casserole from the oven to the wire rack and let it stand, about 10 minutes.
With a sharp knife, cut the casserole into serving-size pieces and serve warm.