This cheesy onion mashed potato casserole brings together fluffy, buttery mashed potatoes with sweet caramelized onions and a generous layer of melted sharp cheddar and mozzarella.
Everything bakes together in one dish until the top turns gloriously golden and bubbly. It works beautifully as a side for holiday dinners or as a satisfying vegetarian main on its own.
Prep is straightforward—boil and mash the potatoes, slow-cook the onions until deeply golden, fold everything together, and let the oven do the rest. You can even assemble it a day ahead and bake when ready.
The smell of caramelized onions hitting butter in a skillet is the kind of thing that pulls people into the kitchen before you even tell them dinner is ready. My neighbor actually knocked on my door once asking what I was making because the aroma had drifted through the open window. This casserole came together on a rainy Sunday when I had a bag of potatoes and no plan, and it has been on heavy rotation ever since.
I brought this to a potluck last winter and watched three people go back for seconds before I even got a spoonful myself. There is something about a bubbling dish of cheesy potatoes that makes everyone temporarily forget about portion control. My friend David stood over the pan scraping the crispy cheese edges with a fork and declared it the best side dish of the night.
Ingredients
- 2 lbs russet or Yukon Gold potatoes: Yukon Golds give a naturally creamy texture, but russets create fluffier mash, so pick based on the vibe you want.
- 1 cup whole milk: Warm it before adding to avoid cooling down your mash and making it gummy.
- 4 tbsp unsalted butter: Plus a little extra for greasing the dish so nothing sticks.
- 1 and a half cups shredded sharp cheddar cheese: Sharper cheddar means more flavor with less cheese, so do not substitute mild here.
- Half a cup shredded mozzarella cheese: This adds that irresistible stretchy melt factor.
- Half a cup sour cream: It brings a subtle tang that balances all the richness perfectly.
- 2 large yellow onions, thinly sliced: Slice them thin and uniform so they caramelize evenly without burning.
- 2 tbsp olive oil: Used for slowly cooking the onions down to golden sweetness.
- 2 cloves garlic, minced: Added right at the end of caramelizing so it stays fragrant without turning bitter.
- 2 tbsp chopped fresh chives: Totally optional but they add a fresh pop of color and mild onion flavor on top.
- 1 tsp salt and half a tsp black pepper: Season the potatoes well at the mash stage because the cheese will mellow things out.
Instructions
- Prep the oven and dish:
- Preheat your oven to 375 degrees F and rub a thin layer of butter across the inside of your baking dish so every corner is coated.
- Boil the potatoes:
- Drop the peeled and cubed potatoes into a large pot of salted cold water, bring it to a rolling boil, then reduce to a simmer until a fork slides through without resistance, about 15 to 18 minutes, then drain thoroughly.
- Caramelize the onions:
- While the potatoes work, heat olive oil in a wide skillet over medium heat and add the sliced onions, stirring every few minutes until they collapse into deep golden ribbons, about 15 to 20 minutes, then stir in the garlic for one final minute.
- Mash everything together:
- Add butter, warm milk, sour cream, salt, and pepper to the drained potatoes and mash until silky smooth, resisting the urge to overwork them or they will turn pasty.
- Fold in the good stuff:
- Stir half of each cheese into the mash and gently fold in the caramelized onions, saving a small handful for the top if you want those concentrated sweet bites as a finish.
- Assemble and bake:
- Spread the potato mixture into your prepared dish in an even layer, scatter the remaining cheese and reserved onions across the surface, and bake for 25 minutes until the top is bubbling and speckled with golden spots.
- Finish and serve:
- Pull it from the oven, scatter fresh chives over the top if you are using them, and let it rest for just a few minutes before scooping because molten cheese will burn an eager tongue.
Somewhere between the second helping and the scraped clean baking dish, this recipe stopped being just a side and started being the thing everyone requests by name. It has a way of turning an ordinary weeknight into something that feels deliberate and celebratory.
Swaps and Tweaks Worth Trying
Swapping mozzarella for Gruyere completely changes the personality of this dish in the best way, adding a nutty depth that feels almost elegant. I tried it on a whim when I had leftover Gruyere from fondue night and now I keep going back and forth between the two versions depending on my mood.
What to Watch Out For
The most common pitfall is underseasoning the potato base because the cheese blanket on top masks blandness until it is too late to fix. Taste the mash before you spread it into the dish and adjust the salt confidently because a well seasoned base carries the whole casserole.
Storage and Leftover Strategy
Leftovers keep well in the fridge for up to four days and reheat in the microwave without losing much of their charm, though the oven at 350 degrees F restores that crispy top better. I have even been known to pan fry cold scoops in a little butter the next morning for a breakfast situation that borders on unreasonable.
- Cover tightly with foil before refrigerating to keep the top from drying out.
- Freeze individual portions in airtight containers for up to one month for emergency comfort food.
- Always reheat from thawed rather than frozen for the creamiest texture.
This is the kind of unassuming dish that earns a permanent spot in your rotation after just one try. Serve it to people you love and watch the room go quiet.
Recipe Q&A
- → Can I make this casserole ahead of time?
-
Yes, you can assemble the entire dish up to 24 hours in advance. Cover it tightly and refrigerate, then bake uncovered when ready to serve. You may need to add 5–10 extra minutes to the baking time if going straight from the refrigerator.
- → What type of potatoes work best for this dish?
-
Russet potatoes yield the fluffiest, lightest mash, while Yukon Golds produce a creamier, slightly denser texture. Both work wonderfully—choose based on the consistency you prefer.
- → How do I get perfectly caramelized onions?
-
Cook the sliced onions in olive oil over medium-low heat, stirring occasionally. Patience is key—true caramelization takes 15–20 minutes. Avoid high heat, which browns the outside without developing deep, sweet flavor throughout.
- → Can I substitute different cheeses?
-
Absolutely. Gruyère adds a nutty, sophisticated depth, while Monterey Jack melts beautifully. You could also try fontina or a smoked gouda for a bolder flavor profile. Keep the total cheese amount the same.
- → How should I store and reheat leftovers?
-
Store leftovers in an airtight container in the refrigerator for up to 4 days. Reheat individual portions in the microwave, or warm the whole dish covered with foil in a 350°F oven until heated through, about 15–20 minutes.
- → Can I freeze this casserole?
-
Yes, you can freeze it before or after baking. Wrap tightly in foil and freeze for up to 3 months. Thaw overnight in the refrigerator before baking or reheating. Note that the potato texture may become slightly grainy after freezing.