There are nights when I absolutely do not have it in me to make a “balanced meal” the traditional way. You know the drill: a protein, a starch, a green vegetable, maybe something extra if you’re feeling ambitious. That’s three or four separate components, multiple pans, and a sink that’s about to file a formal complaint.
This gratin is my answer to all of that.
It’s a one-dish situation that somehow still checks all the boxes. You’ve got hearty vegetables, a creamy, cheesy sauce, and just enough structure from the eggs to make it feel like a real, composed dish instead of a scoop of something vague and casserole-adjacent. It eats like a side, but it can absolutely hold its own as dinner, especially on nights when “good enough” is exactly what we’re aiming for.
What I love most about this recipe is how flexible it is. The version I make most often uses carrots, celery, green beans, zucchini, squash, and thick slices of onion, but it’s really more of a template than a rule. Got broccoli? Throw it in. Half a bell pepper hanging out in the fridge? That too. This is one of those rare dishes that actually benefits from using what you have instead of following the ingredient list to the letter.
There are two keys to making it work. First, cut your vegetables big. You want them to feel substantial, more like roasted pieces than tiny bits lost in sauce. Second, take a few minutes to cook off some of their moisture before they go into the dish. A quick roast or sauté keeps everything from turning watery and lets the sauce do what it’s supposed to do: coat, bind, and make everything delicious.
And then there’s the sauce.
It starts as a simple roux, turns into a classic cheese sauce, and then gets enriched with eggs so it bakes up into something just shy of a custard. Not fussy, not delicate, just… set. Sliceable. The kind of texture that makes leftovers feel just as intentional as the first serving.
Speaking of leftovers, this is one of my favorite meal prep dishes. It reheats beautifully, and it freezes even better. I’ll often make a full pan, portion it out, and then change it up throughout the week. A splash of hot sauce one day, a little mustard the next, maybe some herbs or a squeeze of lemon if I’m feeling bright and optimistic. Same base, completely different vibe.
So if you’re staring down a weeknight and thinking, “I really should cook something,” but also, “I absolutely do not want to make three separate dishes,” this is your move.
One pan. Real food. Minimal drama.
And honestly? That’s a win.
This recipe is easily adaptable — you can tweak almost everything about it. Change the cheese, the meat, the toppings — you name it. Try some of these combinations!
Cheesy Vegetable Gratin (Mornay-Style)
Equipment
- large baking dish (9" x 13")
- sheet pan
- saucepan
- cheese grater
- whisk
Ingredients
vegetables
- 2 cups carrots, thickly sliced
- 1 1/2 cups celery, sliced diagonally
- 1 1/2 cups thin green beans, trimmed (whole or halved)
- 1 1/2 cups zucchini, cut into thick half-moons
- 1 1/2 cups yellow summer squash, cut into thick half-moons
- 1 1/2 cups sweet onion, sliced into thick half-moons
cheese sauce
- 4 tbsp. butter
- 1/4 cup all-purpose flour
- 2 cups whole milk
- 1 cup cheddar cheese, grated
- 1 cup Swiss cheese, grated
- 1 tsp. kosher salt
- 1/2 tsp. black pepper
- 1/2 tsp. nutmeg
custard
- 2 eggs
topping
- 1/2 cup white cheddar cheese, grated
- 1/2 cup Swiss cheese, grated
Instructions
prepare the vegetables
- Preheat the oven to 425°F. Toss all vegetables lightly with oil and salt, then spread on a sheet pan in an even layer. Roast for 15-20 minutes, just until the vegetables begin to soften and release moisture. Remove and set aside.
- Reduce oven temperature to 350°F.
make the cheese sauce
- In a saucepan over medium heat, melt the butter. Whisk in the flour and cook for 2-3 minutes, until lightly golden and no longer raw-smelling.
- Gradually whisk in the milk, cooking until the sauce thickens enough to coat the back of a spoon.
- Stir in cheddar, Swiss, salt, pepper, and nutmeg until smooth.
add the eggs
- In a separate bowl, lightly beat the eggs. Slowly whisk in a small amount of the hot sauce to temper the eggs, then return the mixture to the saucepan. Stir gently to combine. Do not boil.
assemble the gratin
- Lightly grease a 9" x 13" baking dish. Layer the vegetables evenly, adding some sauce between layers. Pour remaining sauce over the top, ensuring it fills the gaps.
- Sprinkle the remaining cheddar and Swiss cheese evenly over the top.
bake
- Bake at 350°F for 30-40 minutes, until bubbling around the edges, set in the center, and golden on top.
- Let rest for 10 minutes before serving.
Notes
- Cut vegetables into large, even pieces.
- Pre-cooking the vegetables is essential to prevent excess moisture in the final dish.
- For extra flavor, add a teaspoon of Dijon mustard or a splash of lemon juice or vinegar to the sauce.
- For a crisp topping, add a light layer of breadcrumbs before baking.

