Chop onion finely and set aside. Scrub all potatoes, but do not peel. Cut all into approximately 3/4-inch cubes. Heat olive oil in a heavy skillet to medium heat. Spread oil to make sure skillet is well-coated. Cook onion appox. 3 minutes, stirring constantly. Add potatoes, stir thoroughly to coat all with oil. Place on well-fitting cover and cook 20 minutes, turning every 5 minutes.
If you're having fried potatoes, that's it. Just add more salt and pepper to taste. You can drizzle on extra olive oil if you like, as the original frying oil will not have retained that olive oil taste.
But if you want fried potato casserole: remove the skillet from the heat and set aside.
Preheat oven to 375 degrees F. In a medium saucepan, place 2 1/2 cups of the half-and-half, salt and pepper. Take the other 1/2 cup of half-and-half and mix it with the flour in a cup, stirring thoroughly to remove all lumps. Add to sauce and stir. Cook on medium heat about 5 minutes, stirring frequently. When sauce steams constantly, add grated cheeses one item at a time, stirring frequently, until mixture is smooth and bubbles. Turn off heat.
Scoop fried potatoes from skillet into a very large bowl (not plastic). Pour sauce over potatoes and gently stir until well-mixed. Pour into a greased 9 x 13 baking pan. Cover pan with aluminum foil and bake covered for approximately 30 minutes. When finished, casserole should be creamy but not runny. If eating immediately, let casserole rest at least 5 minutes before serving. If taking to an event and eating later, let cool 30-45 min., then place in refrigerator. Reheat covered at 300 degrees F for 10-15 minutes.