# What You 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
# Step-by-Step Directions:
01 - Preheat oven to 375°F. Grease a 9x13-inch baking dish with butter or cooking spray and set aside.
02 - Melt 2 tablespoons butter in a medium saucepan over medium heat. Add 2 tablespoons all-purpose flour and whisk continuously for 1 minute to form a smooth roux.
03 - Slowly pour 2 cups whole milk into the roux while whisking constantly to prevent lumps. Continue cooking for 3-4 minutes until the sauce reaches a slightly thickened consistency.
04 - Remove the saucepan from heat. Stir in 1 teaspoon salt, 1/2 teaspoon black pepper, 1/2 teaspoon garlic powder, and half of the cheddar and mozzarella cheeses. Whisk until melted and completely smooth.
05 - Spread half of the sliced potatoes evenly in the prepared baking dish. Layer half of the onion slices over the potatoes, then pour half of the cheese sauce over the onions. Repeat with remaining potatoes, onions, and cheese sauce.
06 - Sprinkle the remaining shredded cheddar and mozzarella cheeses over the top layer. Dust with 1/4 teaspoon paprika for color and flavor.
07 - Cover the baking dish tightly with aluminum foil. Bake in the preheated 375°F oven for 40 minutes.
08 - Remove the aluminum foil and continue baking for an additional 25-30 minutes until the potatoes are tender when pierced with a fork and the top is golden brown.
09 - Remove from the oven and let the dish rest at room temperature for 10 minutes before serving to allow the sauce to set slightly.