# What You'll Need:
→ Potatoes & Ham
01 - 3.5 lbs Yukon Gold or Russet potatoes, peeled and thinly sliced
02 - 9 oz cooked ham, diced
→ Sauce
03 - 4 tbsp unsalted butter
04 - 1 medium onion, finely chopped
05 - 2 garlic cloves, minced
06 - 1/3 cup all-purpose flour
07 - 3 cups whole milk
08 - 1/2 cup heavy cream
09 - 1 tsp salt
10 - 1/2 tsp black pepper
11 - 1/4 tsp ground nutmeg
→ Cheese
12 - 2 cups shredded Gruyère cheese
13 - 1 cup shredded sharp cheddar cheese
14 - 1/4 cup grated Parmesan cheese
→ Garnish
15 - 2 tbsp chopped fresh parsley
# Directions:
01 - Preheat the oven to 350°F. Grease a 9x13 inch baking dish with butter or spray with nonstick oil.
02 - Melt butter in a large saucepan over medium heat. Add onion and cook until softened, about 3 to 4 minutes. Stir in garlic and cook for 1 minute.
03 - Sprinkle flour over the butter mixture and cook, whisking constantly, for 1 to 2 minutes to form a roux. Gradually whisk in whole milk and heavy cream, ensuring no lumps form.
04 - Simmer sauce for 3 to 4 minutes, stirring until thickened. Season with salt, black pepper, and ground nutmeg. Remove from heat and stir in half of the Gruyère and cheddar cheeses until melted.
05 - Arrange half of the sliced potatoes in the baking dish. Top with half of the diced ham and pour half of the cheese sauce over. Repeat layers with remaining potatoes, ham, and sauce.
06 - Sprinkle remaining Gruyère, cheddar, and all Parmesan cheese evenly over the assembled layers.
07 - Cover the dish with foil and bake for 45 minutes.
08 - Remove the foil and continue baking for 25 to 30 minutes until the potatoes are tender and the top is golden brown.
09 - Let the dish rest for 10 minutes before serving. Optionally, garnish with chopped fresh parsley.