Ingredients
Equipment
Method
Prep and build the baking dish
- Preheat the oven to 375F and butter a 9x13-inch baking dish for easy release and clean edges (visual cue: glossy butter coating the bottom and sides).
- Melt the butter, then cook the minced garlic for 30 seconds until fragrant (visual cue: garlic looks lightly sizzling but not browned).
- Whisk in the all-purpose flour and cook for 1 minute to remove the raw flour taste (visual cue: mixture turns smooth and slightly paste-like).
Make the creamy sauce
- Gradually whisk in the whole milk and heavy cream, then simmer until slightly thickened (visual cue: sauce coats the back of a spoon and looks pourable yet thicker).
- Season with salt, black pepper, and fresh thyme leaves, stirring until evenly distributed (visual cue: visible specks of thyme and consistent seasoning throughout).
Layer, bake, and brown
- Layer the sliced russet potatoes and thinly sliced onion in the dish in three layers, pouring sauce over each layer (visual cue: each potato layer is visibly slick with sauce).
- Cover with foil and bake at 375F for 1 hour (visual cue: potatoes soften and sauce bubbles under the foil).
- Uncover, sprinkle with grated Parmesan, and bake 25-30 minutes at 375F until golden and fork-tender (visual cue: browned top and a fork slides into potato layers with little resistance).
Rest and serve
- Rest for 15 minutes before serving to let the sauce set slightly (visual cue: bubbling slows and the layers hold together when you scoop).
Notes
For the best creamy texture, slice potatoes to a consistent 1/8-inch thickness so they finish at the same time. Store leftovers covered in the fridge up to 4 days; reheat in a 325F oven or microwave until hot. Freezing is not recommended because the dairy can separate after thawing. For a lighter option, replace the heavy cream with an equal amount of evaporated milk for a similar richness with less fat.
