Set the oven rack to the lower third of the oven. Preheat oven to 350°F (177°C).
Generously butter (1 tablespoon) a 9X13 inch baking dish and rub the inside of the dish with the cut side of the garlic (1 large). Set the baking dish on a rimmed baking sheet.
In a saucepan, heat the cream (3 cups), salt (1 1/2 teaspoons), and pepper (1/2 teaspoon) over medium heat, stirring to dissolve the salt, until bubbles form around the edges. Set aside.
Slice the potatoes (3 pounds) thinly then layer half the sliced potatoes and half the diced ham in the prepared baking dish, then pour half the heated cream over the potato and ham layer.
Repeat with the rest of the ingredients, ending with a layer of sauce. Sprinkle extra black pepper on the top.
Loosely cover with aluminum foil and bake in the preheated oven until potatoes are bubbly and tender when pierced with a fork, about 1 hour and 45 minutes to 2 hours.
Remove from oven, sprinkle an even layer of cheese (2 cups) over the potatoes, and cook just until melted and golden brown. Let stand 5-10 minutes before serving.
Notes
Heavy Cream: Heavy cream is used in my recipe for added thickness, richness and an incredible flavor. If you want to lighten it a bit, you can sub the heavy cream for more whole milk, but it’s entirely possible that your consistency will be off.