Preheat the oven to 350°F. Grease a 9-by-13-inch baking dish with cooking spray, butter, or oil.
Heat a large skillet over medium heat. Add the breakfast sausage and cook for 6 to 8 minutes, breaking it into crumbles, until browned and cooked through. Transfer the sausage to a plate.
Add the onion and bell pepper to the skillet. Cook for 3 to 4 minutes, until softened.
Add the diced potatoes and ¼ cup water. Cover the skillet and cook for 8 to 10 minutes, stirring occasionally, until the potatoes are beginning to soften. Add a little oil if the skillet becomes dry.
Spread the cooked potatoes, sausage, onion, and bell pepper evenly in the prepared baking dish. Sprinkle 1 ½ cups of the cheddar cheese over the mixture.
In a large bowl, whisk together the eggs, milk, garlic powder, salt, and black pepper.
Pour the egg mixture evenly over the sausage and potato mixture. Gently press the ingredients down with a spatula so they are mostly covered.
Bake uncovered for 40 minutes. Sprinkle the remaining ½ cup of cheddar cheese on top.
Return the casserole to the oven and bake for 5 to 10 minutes more, until the cheese is melted and the center is set. An instant-read thermometer inserted into the center should read 160°F.
Let the casserole rest for 10 minutes before slicing. Garnish with green onions, if desired, and serve warm.