Preheat oven to 350 degrees F.
Rinse and dry the sliced potatoes and onions. Set them aside.
Make the Creamy Sauce. Melt the butter in a heavy-bottomed saucepan over medium heat. Stir in the flour to form a roux (paste) and cook 2 minutes. Do not let it brown.
Add the warmed milk, stirring, until the mixture thickens. The sauce should coat a spoon.
Cheese Option: If you’d like a cheesy version, stir in 1 cup shredded cheddar cheese until incorporated.
Bring to a boil. Add the paprika, garlic powder, cayenne, and salt and pepper. Lower the heat and cook 2-3 minutes longer, stirring. Remove from heat.
Layer a lightly oiled baking dish (8x8) with half the potatoes, then half the onions. Cover with half the bechamel (creamy sauce).
Top with remaining potatoes, then onions, then remaining bechamel. Sprinkle with extra paprika and cayenne if desired for color.
Cheese Option: If using cheese, sprinkle remaining ½ cup shredded cheese over the top.
Cover and bake for 30 minutes.
Remove the cover and bake another 30-40 minutes, or until bubbly and the potatoes are tender to your liking.