Love this? Pin it for later!
There are weeks when the calendar looks like a game of Tetris—soccer practice ends at 6:30, the school concert starts at 7:15, and somehow you're supposed to feed everyone a nourishing meal in between. I created this batch-cooked spinach-and-potato casserole after one of those weeks when my family ate scrambled eggs for dinner three nights in a row (nobody complained, but the guilt was real). Now I keep two 9-by-13-inch pans of this golden-crusted beauty stashed in the freezer at all times. One tin feeds us twice—Sunday supper straight from the oven, then a second round of squares tucked into lunchboxes or reheated on a frantic Wednesday. The flavors are simple enough for my picky eight-year-old, yet the garlicky cream sauce and nutty Gruyère make adults feel like they're eating something worthy of a bistro. If you can boil potatoes and whisk a roux, you can conquer this recipe—and reclaim your weeknights in the process.
Why This Recipe Works
- Big-batch friendly: One base recipe yields two full casseroles—bake one, freeze the second.
- Freezer hero: Assemble, wrap tightly, and freeze up to 3 months without sacrificing texture.
- Vegetable jackpot: Ten ounces of spinach in every pan—no one will complain because cream and cheese make it taste indulgent.
- One-pot sauce: The béchamel comes together in the same skillet used to wilt the spinach, saving dishes.
- Flexible cheese: Gruyère is classic, but sharp cheddar, fontina, or vegan shreds all work—use what you have.
- Weeknight speed: Thaw overnight, then 25 minutes in the oven—dinner is done before homework meltdowns begin.
Ingredients You'll Need
Let's talk potatoes first. You want a medium-starch variety that will hold its shape after boiling—think Yukon Gold or the baby potatoes sold in mesh bags. Russets will flake apart and turn fluffy, which is perfect for mashed potatoes but not for defined slices in a casserole. Look for firm, smooth skins with no green tinge; chlorophyll spots taste bitter and indicate higher solanine levels. If you can only find russets, reduce simmering time by 4 minutes and cool them completely before slicing.
Fresh spinach wilts dramatically—ten ounces of leaves cook down to about one cup—so don't be alarmed by the volume. Buy the pre-washed baby spinach sold in 5-ounce clamshells; the leaves are tender and stems are delicate enough that you don't need to remove them. If you're working with a bunch of mature spinach from the farmers' market, strip the thick central rib and triple-wash in a salad spinner to remove grit. Frozen spinach works in a pinch: thaw, squeeze bone-dry, and you're ready to roll.
The sauce hinges on a classic béchamel—butter, flour, and milk. I use whole milk for richness, but 2% or oat milk will still give you a silky texture. The key is temperature: warm milk incorporates into the roux without lumps. While the milk warms, grate your cheese. Gruyère is nutty and melts like a dream, yet sharp white cheddar costs half as much and still delivers that Instagram-worthy cheese pull. Buy a block and grate it yourself; pre-shredded cellulose coatings make sauces gritty.
Flavor boosters are simple: a clove of garlic smashed with the flat of a knife, a whisper of nutmeg (trust me, it amplifies spinach), and a spoonful of Dijon for depth. If you keep smoked paprika or truffle salt in your arsenal, either will catapult this humble casserole into dinner-party territory.
How to Make Batch-Cooked Spinach and Potato Casserole for Easy Weeknight Meals
Prep the potatoes
Scrub 3 pounds (1.4 kg) Yukon Gold potatoes and cut any larger ones in half so pieces are uniform. Place in a large pot, cover with cold salted water by 1 inch, bring to a boil, then simmer 12–14 minutes until just fork-tender. Drain and cool 10 minutes; peel if desired (I leave skins on for rustic texture). Slice into ¼-inch rounds.
Wilt the spinach
Heat 1 tablespoon olive oil in a large skillet over medium. Add half of two 5-ounce clamshells of baby spinach, season with a pinch of salt, and toss with tongs until slightly wilted, 1 minute. Add remaining spinach and cook until all leaves are bright and reduced, another 2 minutes. Transfer to a colander, press out excess moisture, then roughly chop.
Build the roux
Return the skillet to medium heat and melt 4 tablespoons unsalted butter. When foamy, whisk in 4 tablespoons all-purpose flour; cook 2 minutes until pale gold and nutty. Gradually ladle in 3 cups warm whole milk, whisking constantly. Bring to a gentle simmer until thick enough to coat the back of a spoon, about 5 minutes.
Season the béchamel
Off heat, stir in 1 teaspoon kosher salt, ½ teaspoon black pepper, ¼ teaspoon freshly grated nutmeg, 1 teaspoon Dijon mustard, and 1 cup grated Gruyère. Fold in the chopped spinach; taste and adjust salt—this is your only chance to season the creamy component.
Assemble casserole #1
Butter a 9-by-13-inch baking dish. Arrange half the potato slices in overlapping rows. Spread half the spinach-béchamel over potatoes, top with ½ cup extra cheese, then repeat layers. Finish with remaining cheese and a sprinkle of paprika for color.
Create the freezer portion
Repeat assembly in a second buttered dish. Cool completely, then press plastic wrap directly onto surface, seal dish with foil, label, and freeze up to 3 months.
Bake tonight's dinner
Preheat oven to 400°F. Bake fresh casserole uncovered 25–30 minutes until bubbling at edges and golden on top. Rest 10 minutes to set; this prevents molten cheese lava when you slice.
Bake from frozen
Thaw overnight in refrigerator. Remove plastic, tent with foil, and bake at 375°F for 30 minutes; uncover and bake 15 minutes more until center reaches 165°F. If baking straight from frozen, cover with foil and bake at 350°F for 1 hour, then uncover and bake 20 minutes until golden.
Expert Tips
Squeeze spinach bone-dry
Excess water thins the sauce and creates ice crystals in the freezer. After wilting, bundle the spinach in a clean kitchen towel and twist until no more liquid drips.
Cool before freezing
Placing a hot dish straight into the freezer raises the freezer temperature and can partially thaw nearby foods. Speed-cool by setting the dish over an ice-water bath for 15 minutes.
Portion smart
Cut the chilled casserole into squares, wrap individually in foil, then freeze on a tray. Pop a single portion into an oven-safe dish for quick solo lunches.
Double the sauce
If you like extra-creamy interiors, increase milk to 4 cups and butter/flour to 5 tablespoons each. Pour a little sauce around the edges before baking for saucier slices.
Check internal temp
For food-safety confidence, insert an instant-read thermometer in the center; it should read 165°F when fully reheated from frozen.
Make-ahead brunch
Assemble the night before, refrigerate, then bake in the morning. Add 5 extra minutes to the covered baking time if starting cold.
Variations to Try
- Mushroom medley: Sauté 8 oz sliced cremini mushrooms in butter until golden; layer between potato slices for umami depth.
- Smoky bacon: Stir ½ cup cooked, crumbled turkey bacon into the spinach mixture. Smoked gouda replaces Gruyère for a campfire vibe.
- Vegan spin: Swap butter for olive oil, use oat milk, nutritional yeast instead of cheese, and add 2 tablespoons white miso for cheesy flavor.
- Spicy kick: Fold 1 diced jalapeño and ½ teaspoon cayenne into the sauce; top with pepper-jack cheese.
- Herb garden: Stir in 2 tablespoons each chopped dill and parsley plus the zest of 1 lemon for a spring vibe.
Storage Tips
Refrigerator: Cover baked leftovers with foil or transfer to airtight containers; refrigerate up to 4 days. Reheat individual portions in the microwave 1–2 minutes or in a 350°F oven 10–12 minutes until warmed through.
Freezer (unbaked): Wrap the assembled, cooled casserole tightly with plastic (touching the surface) plus a lid or second layer of foil. Label with the recipe name and today's date; freeze up to 3 months for best texture, though safe indefinitely at 0°F.
Freezer (baked): Cool completely, cut into desired portions, and flash-freeze on a parchment-lined tray. Once solid, transfer squares to a zip-top bag; remove as much air as possible. Reheat from frozen 20–25 minutes at 350°F, or thaw overnight and reheat 10 minutes.
Make-ahead meal prep: Double or triple the recipe and assemble in 8-inch-square disposable pans for single-serve meals. Bake one pan while preparing the others for the freezer; you'll stockpile a month's worth of comfort food in under 2 hours.
Frequently Asked Questions
Batch-Cooked Spinach & Potato Casserole for Easy Weeknight Meals
Ingredients
Instructions
- Prep potatoes: Boil sliced potatoes in salted water 12–14 min until just tender; cool and slice ¼-inch thick.
- Wilt spinach: Sauté spinach in 1 Tbsp oil until reduced; press dry and chop.
- Make béchamel: Melt butter, whisk in flour 2 min, gradually add warm milk; simmer until thick.
- Season: Stir in salt, pepper, nutmeg, Dijon, 1 cup cheese, and chopped spinach.
- Assemble: Layer potatoes and sauce in two buttered 9×13 pans; top with remaining cheese and paprika.
- Bake or freeze: Bake one pan at 400°F for 25–30 min. Cool, wrap, and freeze the second pan up to 3 months.
Recipe Notes
Slice potatoes uniformly so they cook evenly. Warm milk prevents lumpy sauce. Thaw frozen casserole overnight for quickest reheating.