# What You'll Need:
→ Vegetables
01 - 2 pounds 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
# How To Make It:
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 well combined.
03 - Slowly pour milk into the roux while whisking constantly to prevent lumps. Continue cooking until sauce thickens slightly, approximately 3 to 4 minutes.
04 - Remove pan from heat. Stir in salt, pepper, garlic powder, and half of the cheddar and mozzarella cheese until completely melted and smooth.
05 - Arrange half of the sliced potatoes in the prepared baking dish. Top with half the onion slices, followed by half the cheese sauce. Repeat with remaining potatoes, onions, and cheese sauce.
06 - Sprinkle remaining shredded cheeses and paprika evenly over the top layer. Cover the dish tightly with aluminum foil.
07 - Bake covered for 40 minutes at 375°F.
08 - Remove foil and bake for an additional 25 to 30 minutes until potatoes are fork-tender and the top is golden brown.
09 - Remove from oven and let rest for 10 minutes before serving.