Set the oven rack to the center position. Preheat to 350ºF (177ºC).
Grease a 9x13-inch baking dish with olive oil on the bottom and sides.
Heat a large saute pan or cast iron skillet over medium-high heat. Add 2 tablespoons olive oil, once hot add in the potatoes.
Saute the potatoes until tender, stirring occasionally, 10 minutes.
Turn the heat down to medium, add the onions and garlic, saute for 1 minute.
Add the bell peppers and saute for 2 minutes.
Add the ham and saute for 1 minute.
Turn off the heat and stir in ½ teaspoon salt, black pepper, and green onions.
Transfer potato mixture to the greased baking dish and spread into an even layer.
Evenly sprinkle half of the cheddar cheese on top of the potato mixture.
Whisk together the cornstarch and 1 teaspoon salt together in a large bowl.
Add half-and-half and eggs, whisk until thoroughly combined.
Pour the egg mixture over the potato mixture. Evenly sprinkle the remaining cheese on top.
Bake for 20 minutes. Rotate the pan and bake until the center is set, and a toothpick inserted comes about clean, about 20 minutes. The internal temperature should be around 180 to 190ºF (82 to 88ºC).