# 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 tbsp unsalted butter
07 - 2 tbsp all-purpose flour
→ Seasonings
08 - 1 tsp salt
09 - 1/2 tsp black pepper
10 - 1/2 tsp garlic powder
11 - 1/4 tsp paprika
# Steps:
01 - Preheat oven to 375°F. Grease a 9x13-inch baking dish with butter or cooking spray.
02 - Melt 2 tbsp butter in a medium saucepan over medium heat. Add flour and whisk continuously for 1 minute until the mixture is smooth and fragrant.
03 - Slowly pour 2 cups milk into the roux while whisking constantly to prevent lumps. Continue cooking for 3-4 minutes until the sauce reaches a slight thickening consistency.
04 - Remove from heat and stir in salt, black pepper, garlic powder, and half of the shredded cheddar and mozzarella cheeses until completely melted and smooth.
05 - Arrange half the sliced potatoes in the prepared baking dish. Layer half the onion slices over the potatoes, then pour half the cheese sauce evenly over top. Repeat with remaining potatoes, onions, and cheese sauce.
06 - Sprinkle the remaining shredded cheddar and mozzarella cheeses over the top layer. Dust with paprika for color and flavor.
07 - Cover the baking dish tightly with aluminum foil and bake for 40 minutes at 375°F.
08 - Remove foil and bake uncovered for 25-30 minutes until potatoes are tender when pierced with a fork and the top is golden brown.
09 - Remove from oven and let rest for 10 minutes before serving to allow the layers to set.