Preheat oven to 400 degrees: As you preheat, notice the kitchen temperature shift and the faint hum from the oven as it ramps up. I like to set the rack in the middle so heat circulates evenly, giving a uniform bake. Preheating ensures that once the dish goes in it starts cooking immediately, promoting even bubbling and browning. A common mistake is not preheating, which can extend cooking time and yield uneven doneness.
Grease 9 x 13 inch baking pan with non-stick spray. Set aside.: The slick surface of a well greased pan helps the finished casserole release cleanly, and it prevents the edges from sticking and tearing when served. I lightly coat the bottom and sides, then give the pan a quick wipe if there is excess. If you under grease the pan you risk sticking, which makes serving messy and may pull the top apart.
In a medium-size saucepan, melt butter over medium heat. Mix in the flour and salt, and stir constantly with a whisk for one minute. Stir in half and half. Cook until mixture has thickened, 2-3 minutes. Stir in cheddar cheese all at once, and continue stirring until melted, about 30 to 60 seconds.: As the butter melts, it will foam and give off a warm, slightly nutty scent; that is the cue to add the flour . Whisking constantly for about a minute cooks the raw taste away while forming a smooth roux; you should see the mixture become slightly glossy. When you add the half and half slowly, whisk continuously to prevent lumps, and watch as the sauce thickens to a creamy coating consistency in two to three minutes. Once it reaches coating thickness, it will cling to the back of a spoon. Adding the grated cheddar cheese all at once creates a silky emulsion; stir briskly until the cheese melts and the sauce becomes uniform, with a rich, sharp aroma. If the sauce gets too thick, a splash of additional half and half loosens it; if it separates, gentle heat and vigorous whisking usually bring it back. Avoid high heat, which can make the dairy break and give a grainy texture.
Place half of sliced potatoes in bottom of prepared baking dish. Top with half of the cheese sauce. Repeat layers. Top with mozzarella cheese.: When you layer the prepared potatoes , arrange the slices so they nestle together in overlapping rows; this helps the sauce seep between them. After placing the first layer, ladle the sauce evenly so each slice gets coated, listening for the subtle slosh of liquid settling between layers. Repeating the layers builds structure, and finishing with the mozzarella cheese creates a creamy, slightly browned cap. Be careful not to pack the dish too tightly, because the potatoes need space to expand slightly as they absorb the sauce; overpacking can result in uneven cooking.
Bake 1 1/2 hours in the preheated oven.: As the casserole bakes, the kitchen will fill with a warm, cheesy aroma and you will see tiny bubbles forming around the edges; this is a good sign the center is heating through. The top should become lightly golden and the sauce should be visibly bubbling in the center. I often tent with foil for the first hour if the top is browning too quickly, then remove foil to let the final 15 to 20 minutes develop a pleasing color. A frequent mistake is underbaking, which leaves the middle watery and the potatoes firm; ensure you bake until the internal area is bubbling and a knife slides through a slice easily.