# 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
# How to Make It:
01 - Preheat oven to 375°F. Grease a 9x13-inch baking dish with butter or cooking spray.
02 - Melt 2 tablespoons butter in a medium saucepan over medium heat. Add 2 tablespoons flour and whisk continuously for 1 minute to create a 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 thickens slightly.
04 - Remove from heat. Stir in salt, black pepper, garlic powder, and half of the shredded cheddar and mozzarella cheese until completely melted and smooth.
05 - Arrange half of the sliced potatoes in the prepared baking dish. Top with half of the onion slices and half of the cheese sauce. Repeat layering with remaining potatoes, onions, and sauce.
06 - Sprinkle the remaining shredded cheeses and paprika evenly over the top layer.
07 - Cover the baking dish with aluminum foil and 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 before serving.