Classic Rich and Silky Potato Gratin (Scalloped Potatoes) Recipe

After rounds and rounds of testing, we've finally landed on the perfect classic potato gratin (scalloped potatoes), one that's creamy, silky, and loaded with flavor.

serving up a slice of scalloped potatoes gratin

Serious Eats/Vicky Wasik

Why It Works

  • Steeping the milk and cream with aromatics adds extra flavor.
  • Slicing the potatoes directly into hot milk releases starches into the milk mixture, resulting in a creamier gratin.
  • Baking the gratin uncovered allows the milk and cream to reduce and break into silky curds.
  • Allowing the gratin to rest before serving gives the potatoes time to absorb the rich dairy.

I have a problem with potato gratins. It's the same problem I have with muffins—I only want the top and usually neglect what's below deck. The interior of a poorly made potato gratin is bland, dry, and crumbly, but even the worst gratins have a savory and speckled crust. I'm not alone with my prejudice. Jeffrey Steingarten, the author of The Man Who Ate Everything, developed an indulgent single-layer potato gratin recipe that yields a crusty-top-only dish. I've made his recipe several times and can admit to curling up on the couch with it, picking at every golden bit with my fingers. Although I delight in this shameful activity, some nights I'm struck with guilt, worrying about that under part of a gratin that's so often ignored. This is what motivated me to perfect the classic potato gratin—one with a flavorful and creamy interior not to be dismissed, and a bottom that rivals the top's golden hue.

Like many classic dishes, recipes for potato gratin are all over the map. The basic idea is always the same—sliced potatoes are layered, smothered in cream, milk, or a sauce, and baked together until tender and golden brown. Some recipes insist on using cream only while others stand by milk. There are vehement anti-cheese believers with equally zealous cheese proponents across the aisle. Then there are the extremists like Kenji, who turn the whole dish on its head with his sideways-loaded hasselback potato gratin.

I just want the classic. For me, this means a gratin that's crisp all the way around—with cheese and potato that has browned on the bottom, sides, and top. The potatoes are tender and well seasoned, with layers of creamy curds in between them. Most importantly, I want to want to eat it all, and not just think about picking off the top layer when no one is looking.

To figure out what I was up against, I tested all the variations: different proportions of milk and cream, liquid-to-potato ratios, baking times and temperatures, and even went old-school with a few batches with whole eggs and yolks.

Milk vs. Cream

As a gratin bakes, two actions produce the creamy filling. Firstly, the potatoes release some of their starches, which thicken the surrounding liquid. Secondly, the dairy reduces—some of its liquid is absorbed by the potato while the rest slowly evaporates. As the liquid in the dairy reduces, protein and fat are left behind, forming creamy curds throughout.

In the testing, I found that too much cream breaks during the cooking, coating the potato slices in a slick of fat and masking their earthy flavor. On the other hand, gratins made completely with milk were dry and filled with crumbly curds. The combination of the two produced the best result. I found that a higher ratio of milk than cream added just enough fat to produce extra silky curds without becoming too rich. I also tested a batch with evaporated milk, fully expecting an even better result due to its inherently high concentration of protein, only to find no difference in the final dish. Since I prefer to use fresh ingredients, I decided to stick with regular milk instead.

Some old cookbooks recommend the addition of a whole egg or yolk into the dairy mixture. Even the smallest amount of egg resulted in the gratin setting up with the brittle texture of a flan.

It sliced well, but I preferred the soft and supple texture of the gratin without egg over picture-perfect serving portions. If the latter is what you're after, the addition of half a yolk to the milk and cream mixture is enough to achieve a clean slice.

Flavor Enhancers

The next challenge was to introduce layers of flavor to a dish that could easily fall flat. To do this, I steeped the milk and cream with garlic and shallots for their pungency, black peppercorns for a mild heat, and thyme for its fresh, piney aroma. After an hour, the milk mixture was thoroughly perfumed and the aromatics were ready to be strained out. This infuses the gratin with layers of complex aromatics, without interrupting that silky-smooth texture.

I then seasoned the milk and cream mixture with a touch of freshly ground nutmeg and a generous dose of salt. You have to over-salt the milk mixture at this point so that it can properly season the potatoes. I also found that the gratin was more consistently seasoned when the salt was dissolved in the milk mixture rather than sprinkled in between the slices of potato.

Consider the Potato

Two whole russet potatoes with skin on.

Serious Eats/Vicky Wasik

Because I want a gratin filled with creamy and tender potatoes which are also crisp on the sides and top, I turn to high-starch russets. These potatoes are low in moisture and therefore best suited to absorb the flavorful milk and cream mixture, quickly becoming plump and tender. Their starch content is also important because as they cook they release plenty of starch molecules, which will help thicken up the gratin's liquid component.

On the downside, high-starch potatoes also oxidize faster, quickly becoming brown and discolored when they are cut or sliced. To remedy this, many recipes say to hold the sliced potatoes in water to halt the oxidation until you are ready to use them. The problem is that this washes off some starches and results in the loss of vital thickening power. Instead, I slice them directly into the milk they'll be baked in, preventing the potato slices from oxidizing while keeping all their starches right where you want them—in the final dish.

The Cheese Question

Some recipes insist that there's no place for cheese in a potato gratin—the cheesy flavor and creamy texture should entirely come from the milk proteins concentrating and browning. However, I like the brightness cheese brings to the dish. Too much cheese will break and become greasy, but a small amount of Parmesan adds a salty tang, while some Gruyere puts nuttiness into play. More importantly, the cheese forms a crunchy-chewy crust along the bottom and sides of the dish, wrapping the gratin in a savory frico—a crispy cheese cracker.

Putting It All Together

After rounds of testing, this perfect classic potato gratin comes together in just a few easy steps.

Collage of herbs steeping in cream, cream being strained out, potatoes being sliced on mandoline, and potatoes slices submerged in bowl of cream.

Serious Eats/Vicky Wasik

Step 1: Make a Flavorful, Protein-Rich Base

The dairy base needs to have a higher proportion of milk to cream. As it reduces, there will be more concentrated proteins than with cream alone. These proteins form curds that brown, adding a custardy texture and rich flavors. Also, starting with more total dairy in your gratin will yield lots of rich, brown curds. It will look like far too much milk, but have faith that it will eventually all cook down.

I combine the dairy with aromatics and bring to a boil, before covering to steep. Taking your time with this step is the best way to ensure a flavorful and seasoned final dish. After steeping, I bring the milk mixture up to a boil before straining into a bowl. Reheating the milk mixture cuts back on your total bake time and gets the potato slices soaking up all that flavor immediately. The recipe still works without this step; however, it may take up to half an hour longer to bake in the oven.

Step 2: Maximize Starchiness

I start with high-starch russets and hold on to all that starch by slicing peeled potatoes directly into the hot infused milk. The thin, rigid slices immediately wilt, releasing their starches to be distributed through the milk-cream mixture. I also give them a good stir so all the slices are fully coated in milk and they begin to absorb the seasoning and aromatics.

Step 3: Get a Little Cheesy

I like a little cheese for extra flavor and to bump up the browning. After the potato slices are shingled in a buttered casserole dish, I sprinkle a touch of grated Parmesan and Gruyere before topping with the next layer. I'll repeat this until no more potatoes remain, leaving the top layer cheese-free for the initial low-temperature bake. The reserved starchy milk gets poured over the layers.

Step 4: Two-Temperature Baking

I first bake the gratin uncovered at 300°F (150°C) for about one and a half hours. This low temperature gently reduces the milk and cream, while the potatoes become tender. At a higher temperature the milk mixture might bubble up over the sides of the dish, leaving your gratin high and dry.

After the first low bake, I top the gratin with a little more cheese before blasting it under the broiler. The sides and bottom will be richly golden and that extra dusting of cheese will form a thick and chewy crust.

Creamy potato gratin plated with a fork beside it.

Serious Eats/Vicky Wasik

By starting with a flavorful base and focusing on a few key details, no more gratins need to suffer the fate of having an unappealing lower half. If only someone could convince me to eat a muffin stump, my conscience could finally rest at ease.

Recipe Facts



Active: 30 mins
Total: 3 hrs
Serves: 6 to 8 servings

Rate & Comment


  • 1 cup (240ml) heavy cream

  • 2 cups (480ml) whole milk

  • 2 medium cloves garlic (8g), smashed

  • 2 small shallots (110g total), quartered

  • 1/8 teaspoon freshly grated nutmeg

  • 6 sprigs fresh thyme

  • 2 teaspoons (6g) whole black peppercorns

  • 1 1/2 teaspoons (7g) Diamond Crystal kosher salt

  • 3 large russet potatoes (about 30 ounces; 800g)

  • 2 ounces (60g) grated Parmigiano-Reggiano cheese

  • 4 ounces (120g) grated Gruyère cheese

  • 1 tablespoon (15g) unsalted butter, softened


  1. In a small saucepan, combine cream, milk, garlic, shallots, nutmeg, thyme, peppercorns, and salt. Bring to a boil, then remove from heat, cover, and let steep for 1 hour.

    Aromatics steeping in hot milk.

    Serious Eats/Vicky Wasik

  2. Return milk mixture to boil, then strain into a large heatproof bowl, pressing gently on the solids.

  3. Using a mandoline, slice the peeled potatoes crosswise 1/8 inch thick, directly into the hot milk mixture. Stir the potatoes to fully coat.

  4. Preheat oven to 300°F (150°C). In a small bowl, combine the Gruyère and Parmigiano-Reggiano cheeses.

  5. Grease a 2-quart baking dish with the butter. Lay the sliced potatoes in one even layer, then sprinkle with the cheese mixture. Repeat layering potatoes and cheese until all the potatoes have been used and half the cheese mixture remains; leave the top layer without cheese. Pour any remaining milk mixture over the layered potatoes.

    Collage of stage of assembling scalloped potatoes in gratin dish.

    Serious Eats/Vicky Wasik

  6. Bake until the potatoes have become tender and the surface is lightly golden brown, about 1 1/2 hours. Top with reserved cheese mixture, switch the oven to broil, and broil until evenly browned on top. Allow the gratin to rest 30 minutes before serving.

    Cheese being sprinkled on top of lightly golden baked potatoes gratin.

    Serious Eats/Vicky Wasik

Special Equipment

Mandoline slicer, mesh strainer, 2-quart baking dish

Nutrition Facts (per serving)
358 Calories
22g Fat
29g Carbs
13g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 6 to 8
Amount per serving
Calories 358
% Daily Value*
Total Fat 22g 28%
Saturated Fat 13g 66%
Cholesterol 67mg 22%
Sodium 632mg 27%
Total Carbohydrate 29g 11%
Dietary Fiber 3g 11%
Total Sugars 6g
Protein 13g
Vitamin C 10mg 50%
Calcium 335mg 26%
Iron 1mg 8%
Potassium 747mg 16%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)