Preheat your oven to 350°F (175°C).
In a large mixing bowl, combine the diced potatoes, ham, shredded cheese, soup, sour cream, milk, garlic powder, and onion powder.
Season the mixture with salt and pepper. Stir until everything is evenly coated.
Pour the mixture into a greased 9x13-inch baking dish.
If you're going with a crunchy topping, mix the crushed cornflakes or breadcrumbs with melted butter, then sprinkle over the casserole.
Bake uncovered for about 60 minutes, or until the potatoes are tender and the top is golden brown.
Garnish with fresh parsley if you’re feeling a little fancy.
Let it cool slightly before serving—burned tongues are no joke.