# What You'll Need:
→ Vegetables
01 - 2 lbs Yukon Gold or Russet potatoes, peeled and thinly sliced
02 - 1 medium yellow onion, thinly sliced
→ Dairy
03 - 2 cups shredded sharp cheddar cheese
04 - 1 cup shredded mozzarella cheese
05 - 2 cups whole milk
06 - 2 tablespoons unsalted butter
07 - 2 tablespoons all-purpose flour
→ Seasonings
08 - 1 teaspoon salt
09 - 1/2 teaspoon black pepper
10 - 1/2 teaspoon garlic powder
11 - 1/4 teaspoon paprika
# Cooking Steps:
01 - Preheat oven to 375°F. Grease a 9x13-inch baking dish with butter or cooking spray.
02 - Melt butter in a medium saucepan over medium heat. Add flour and whisk continuously for 1 minute until combined.
03 - Slowly pour milk into the roux while whisking constantly to prevent lumps. Continue cooking for 3-4 minutes until sauce thickens slightly.
04 - Remove from heat. Stir in salt, pepper, garlic powder, and half of the cheddar and mozzarella cheeses until fully melted and smooth.
05 - Arrange half the potato slices in the prepared baking dish. Top with half the onion slices, then pour half the cheese sauce over. Repeat layers with remaining potatoes, onions, and sauce.
06 - Sprinkle remaining shredded cheeses and paprika evenly over the top layer.
07 - Cover the baking dish with aluminum foil. Bake for 40 minutes at 375°F.
08 - Remove foil and continue baking for 25-30 minutes until potatoes are tender and the top is golden brown.
09 - Remove from oven and let rest for 10 minutes to allow the dish to set before serving.