Heat the oven to 350°F. Grease a 9x13 baking dish with nonstick cooking spray and keep it aside.
Cook bacon in a skillet until crispy. Remove all the fat using a spoon leaving behind about 2 tablespoons in the skillet.
Add chopped onion and garlic to the skillet. Cook until onion has softened.
Add diced potatoes. Sprinkle a large pinch of salt. Cook potato on medium heat for 3-4 minutes. When the potatoes are half cooked through and small brown spots. Switch off the flame. Let it cool down a bit.
In a large mixing bowl, add eggs, milk, salt and pepper. Whisk it well.
Add bacon potato mixture, cheese and chopped red pepper. Mix it.
Pour the mixture into the prepared pan and spread it. Sprinkle the rest of the cooked bacon on top.
Bake in a pre-heated oven uncovered for 30-35 minutes.