WANT TO SAVE THIS RECIPE?
My friend Beth brought these to our potluck Thanksgiving two years ago. She set the pan down and within fifteen minutes it was gone. Like completely empty. People were scraping the corners with their forks trying to get the last bits of crispy cheese.

She just laughed and said it was her dad’s recipe, something he used to make for every holiday before he died. Said she hadn’t made them in years but decided it was time to share them again.
Got the recipe from her a week later and now I make them for basically everything. Christmas dinner? These potatoes. Easter brunch? These potatoes. Random Tuesday because I’m tired of rice? You guessed it.
What Makes These Different
Most potato casseroles are either scalloped (cream-based, no cheese) or au gratin (cheese between layers, breadcrumb topping). These kind of split the difference and do their own thing.
You make an actual cheese sauce from scratch – not just pour cream over potatoes. Three different cheeses go into it. Sharp cheddar for flavor, gruyere for that nutty richness, parmesan for the salty kick.
Onions get tucked in between the potato layers, which is genius. They soften and almost caramelize while everything bakes, adding this sweet savory thing that makes people go “what’s in these?”
No breadcrumbs on top. Just more cheese that gets golden and bubbly and forms these crispy bits everyone fights over.
First time I made them, my husband asked if we could just eat this for dinner and skip the chicken. We did. No regrets.
What Goes In
Potatoes – About 3 pounds of Yukon golds, sliced thin. That’s usually 6-7 medium potatoes. Yukon golds are buttery and hold their shape better than russets.
Onion – Half a yellow or white onion, sliced. Gets layered throughout.
For the cheese sauce:
- 2 tablespoons butter
- 1/4 cup flour (all-purpose works, but whole wheat or gluten-free 1:1 flour work too)
- 1½ cups milk (I use whole milk but any kind works)
- 8 ounces sharp cheddar, shredded (that’s 2 heaping cups)
- 3/4 teaspoon salt
- 1/2 teaspoon garlic powder
- Black pepper to taste
For topping:
- 1/2 cup shredded gruyere (or more cheddar if you can’t find gruyere)
- 1/4 cup grated parmesan
- Fresh parsley for garnish if you’re feeling fancy
That’s it. Nothing weird, nothing expensive except maybe the gruyere but you can skip that if needed.
Making These Things
Heat your oven to 375 degrees. Grab a 9×13 baking dish or something close to that size. Grease it with butter or spray.
Slice your potatoes thin – about 1/8 inch thick. A mandolin makes this stupid easy. Without one, just do your best with a sharp knife and try to keep them even so they cook at the same rate.
Arrange the potato slices in the pan in slanted rows. Don’t pack them super tight – you want them slightly overlapping but with a little space. Tuck onion slices in wherever they fit. Between rows, on top, just scatter them throughout.
Now make the sauce. Melt the butter in a saucepan over medium heat. When it’s melted, whisk in a bit of the flour. Then add a splash of milk, whisk like crazy. Add more flour, more milk, keep alternating and whisking. You’re trying to avoid lumps.
Once all the flour and milk are in, let it simmer until it thickens up. Should look like thick gravy.
Turn the heat to low. Stir in all that shredded cheddar, the garlic powder, salt, and pepper. Taste it – you might want more salt. Remember this sauce is coating a lot of bland potatoes, so it needs to be well-seasoned.
Pour the cheese sauce evenly over the potatoes and onions. Make sure you get it into all the corners. It’ll look like not enough sauce but trust me, it thickens up and gets creamy while it bakes.
Cover the whole pan tightly with foil. Stick it in the oven for 45 minutes.
After 45 minutes, pull off the foil. Sprinkle the gruyere and parmesan all over the top. Put it back in the oven uncovered.
Bake another 30-45 minutes until the top is golden brown and the potatoes are fork-tender all the way through. The cheese on top should be melted and starting to get those brown crispy spots.
Let it sit for about 10 minutes before serving. Garnish with chopped parsley if you want to look like you tried.
Things I’ve Learned
Slice those potatoes evenly. First time I made these, half were thick and half were thin. The thin ones got mushy while the thick ones were still crunchy. Not great.
Use sharp cheddar. Mild cheddar doesn’t have enough flavor. You need that sharp, aged taste to come through.
Shred your own cheese. Pre-shredded has anti-caking stuff on it that makes it not melt as smoothly. Takes an extra five minutes but worth it.
The sauce will look wrong at first. When you pour it over, you’ll think “this isn’t enough sauce.” It is. It gets creamy and perfect as it bakes.
Don’t skip the covered baking step. Covering it first steams the potatoes so they cook through. If you bake it uncovered the whole time, the top burns before the middle cooks.
Test for doneness with a fork. Stick a fork in the center of the pan. Should slide through easily. If you hit resistance, give it more time.
Ways to Switch It Up
Add bacon. Cook about 8 ounces of bacon, chop it up, and either sprinkle it over the potatoes before adding sauce or just stir it into the sauce. Makes it way more indulgent.
Use different cheeses. Can’t find gruyere? Use more cheddar or try smoked gouda. Fontina would be good too.
Make it with sweet potatoes instead of regular. Haven’t tried this but Beth’s sister apparently does it and swears it’s amazing.
Add some greens. Frozen spinach (thawed and squeezed dry) could go in with the onions. Adds color and makes you feel slightly better about eating a pan of cheese and potatoes.
Top with crushed Ritz crackers before that final bake. Not traditional but my neighbor does this and it adds a nice crunch.
The Make-Ahead Angle
Can assemble the whole thing up to three days ahead. Get the potatoes in the pan, pour the sauce over, cover with foil, and stick it in the fridge instead of the oven.
When you’re ready to bake, pull it out and let it sit at room temperature for like 20 minutes while the oven preheats. Then bake as directed, but add an extra 15-20 minutes since everything’s cold.
This is clutch for holidays when you’re trying to cook seventeen things at once.
Storing and Reheating
Leftovers keep in the fridge for about 5 days covered.
Reheat individual portions in the microwave. Heats the whole pan back up in a 350-degree oven until warmed through – maybe 20-25 minutes.
The potatoes soak up more sauce as they sit, so leftovers are actually thicker and creamier than fresh. Not worse, just different.

Serving These
They’re rich, so a little goes a long way. The recipe says it serves 8 as a side but I’d say more like 10-12 unless your family is really into potatoes.
Goes with basically any main course:
- Roasted chicken
- Ham (perfect for Easter)
- Turkey (Thanksgiving classic)
- Steak
- Even just a salad if you want potatoes to be the star
My kids will eat these without complaining, which for vegetables (okay, potatoes are vegetables, fight me) is basically a miracle.
Why This Recipe Sticks Around
It’s comfort food. Pure and simple. Potatoes, cheese, cream – hits all the nostalgia buttons.
But it’s also just objectively good. The three cheeses give it depth. The onions add sweetness. The crispy top is addictive. The creamy sauce coating tender potatoes is exactly what you want on a cold day or when you need a holiday side that’ll make people happy.
Beth said making them again after years of avoiding them (too many memories of her dad) ended up being healing. She could share something he loved with people she loves. Food does that sometimes – connects us across time and loss in ways that feel almost magical.
Make these for your next gathering. People will ask for the recipe. You can tell them you got it from someone whose dad used to make them, and now they’re sharing them with you. That’s how good recipes work – they get passed around, they bring people together, they become part of our own stories.
Cheesy Au Gratin Potatoes
Ingredients
- 3 lbs Yukon gold potatoes 6-7 medium, sliced 1/8-inch thick
- 1/2 yellow or white onion thinly sliced
For the Cheese Sauce:
- 2 Tbsp salted butter
- 1/4 cup all-purpose flour
- 1½ cups whole milk
- 8 oz sharp cheddar cheese shredded (2 heaping cups)
- 3/4 tsp salt plus more to taste
- 1/2 tsp garlic powder
- Freshly ground black pepper to taste
For Topping:
- 1/2 cup shredded gruyere cheese or substitute more sharp cheddar
- 1/4 cup grated parmesan cheese
- Fresh chopped parsley for garnish optional
Instructions
- Preheat oven to 375°F. Grease a 9×13-inch baking dish with butter or cooking spray.
- Arrange sliced potatoes in three slanted rows in the prepared dish. Potatoes should overlap slightly but not be packed too tightly. Tuck onion slices throughout between and on top of potato layers.
- Make cheese sauce: Melt butter in medium saucepan over medium heat. Gradually whisk in flour and milk, alternating small amounts and whisking constantly to prevent lumps. Continue until all flour and milk are incorporated.
- Bring mixture to a simmer, stirring frequently, until thickened to gravy consistency.
- Reduce heat to low. Stir in shredded cheddar, garlic powder, salt, and pepper until cheese is fully melted. Taste and adjust seasoning as needed.
- Pour cheese sauce evenly over potatoes and onions, making sure sauce reaches all corners of dish.
- Cover pan tightly with aluminum foil. Bake 45 minutes.
- Remove foil and sprinkle gruyere and parmesan evenly over top. Return to oven uncovered.
- Bake additional 30-45 minutes until potatoes are fork-tender in the center and top is golden brown with crispy cheese spots.
- Let rest 10 minutes before serving. Garnish with fresh parsley if desired.
Notes
- A mandolin makes quick, even work of slicing potatoes
- Use freshly shredded cheese for best melting – pre-shredded contains anti-caking agents
- Sharp cheddar is important for flavor – don’t use mild
- Make ahead: Assemble completely, cover with foil, and refrigerate up to 3 days.
- Add 15-20 minutes to baking time when cooking from cold
- Add cooked, crumbled bacon (6-8 oz) for extra richness
- Leftovers keep refrigerated 5 days; reheat in microwave or 350°F oven
- Potatoes are done when fork easily pierces through center layers









