I had a head of cabbage sitting in my crisper drawer for the third week in a row before I finally admitted the truth: I bought it because it was cheap, and then I had no idea what to do with it. That’s how this cheesy cabbage casserole recipe started. Not from a big kitchen epiphany, just from not wanting to waste two dollars’ worth of vegetable one more time.
The first version I made was disappointing. The cabbage turned the whole dish into soup. The cheese never really melted into anything, it just sat on top in a greasy layer. I nearly gave up on the idea completely. But cabbage is too cheap and too good for me to let one bad attempt win, so I kept adjusting it — how I cut the cabbage, how long I cooked it before it ever saw the oven, how much liquid actually belonged in the sauce.
What I ended up with is a cheesy cabbage casserole that’s creamy without being soupy, cheesy without being greasy, and tender without turning to mush. It’s the kind of dish where the cabbage almost tastes like something richer than it is — a few people who’ve tried it at my table have guessed there was cream cheese or bacon involved, and there isn’t. It’s just cabbage, a simple cheese sauce, and a few things most people already have in the fridge.
I like this recipe for a handful of very practical reasons. It’s comforting in the way mac and cheese is comforting, but it uses a vegetable instead of pasta as the base. It’s genuinely budget-friendly — cabbage is one of the least expensive vegetables you can buy, and this recipe doesn’t ask for anything fancy to go with it. It works on a busy weeknight because most of the active time is just chopping and stirring. And it flexes easily between a side dish next to something like roast chicken, or a light meal on its own with a piece of crusty bread.
If you’ve got a cabbage sitting in your fridge right now wondering if it’s going to get used, this is the recipe I’d hand you.

Why I Keep Making This Recipe
I didn’t set out to make cabbage casserole a regular thing in my kitchen. It became one because it kept solving problems for me.
Affordability is the first one. A single head of green cabbage usually costs less than almost anything else in the produce section, and it stretches into four to six servings without much help. When my grocery budget is tight, this is one of the meals I fall back on.
Simplicity matters too. There’s no obscure ingredient list here. Everything in this recipe is something you can find at a regular grocery store, and most of it is probably already in your kitchen.
I also keep coming back to it for the comfort-food appeal. Cabbage has a reputation for being plain or even a little unpopular, but once it’s cooked down and coated in a cheese sauce, it eats more like a casserole you’d want seconds of than a vegetable side you’re pushing around your plate.
It’s family-friendly in my experience — the cabbage softens enough that the flavor and texture read more “cheesy bake” than “vegetable dish,” which tends to win over people who claim they don’t like cabbage.
And it’s flexible. I’ve swapped in different cheeses depending on what’s open in the fridge, added protein when I wanted it to be a full meal, and skipped the crunchy topping entirely on nights I didn’t feel like it. The base recipe holds up no matter what I change around it.
Finally, the leftovers reheat well, which makes it genuinely useful for meal planning rather than something that only works the night I make it.
Ingredients You’ll Need
This recipe serves about 6 as a side dish, or 4 as a light main course.
1 medium head of green cabbage (about 2 lbs), cored and chopped Cabbage is the entire point of this dish, so don’t skimp on it. Green cabbage holds its shape better than napa cabbage and has enough sturdiness to survive baking without disintegrating. Substitution: Savoy cabbage works well too and has a slightly more tender leaf. Mistake to avoid: cutting the pieces too small — thin shreds turn to mush in the oven. Aim for pieces about an inch wide.
1 medium yellow onion, diced Onion builds the savory base flavor that keeps the dish from tasting one-note. Substitution: a shallot or half a sweet onion works in a pinch. Mistake to avoid: adding it raw to the casserole — it needs to soften on the stovetop first or it stays sharp and crunchy in the final bake.
3 cloves garlic, minced Garlic rounds out the onion and gives the sauce depth. Substitution: ½ teaspoon garlic powder if you’re out of fresh. Mistake to avoid: burning it — garlic turns bitter fast, so add it after the onion has already softened.
3 tablespoons butter (or neutral cooking oil) Butter is what softens the onion and garlic and forms the base of the cheese sauce. Substitution: olive oil or another neutral oil works fine if you’re avoiding butter, though you’ll lose a little richness. Mistake to avoid: skipping this step and adding the vegetables straight to a dry pan — it leads to uneven cooking.
3 tablespoons all-purpose flour Flour thickens the sauce so it clings to the cabbage instead of pooling at the bottom of the dish. Substitution: cornstarch (use half the amount) works if you need it gluten-free. Mistake to avoid: adding the milk before the flour has cooked for a minute — it can leave a raw, pasty taste.
1 ½ cups milk (whole milk works best) Milk is what turns the butter-and-flour base into an actual sauce. Substitution: half-and-half makes it richer; a lower-fat milk works but the sauce will be thinner. Mistake to avoid: pouring in cold milk all at once — add it gradually while whisking to prevent lumps.
2 cups shredded sharp cheddar cheese Cheddar melts smoothly and gives the dish its signature flavor. Substitution: Colby, Monterey Jack, or a cheddar blend all work well. Mistake to avoid: using pre-shredded bagged cheese if you can help it — it’s coated in anti-caking starch that keeps it from melting as smoothly. Freshly shredded cheese melts noticeably better.
½ cup grated Parmesan Parmesan adds a salty, savory edge that keeps the dish from tasting flat. Substitution: you can skip it and add a little extra cheddar, though you’ll lose some depth. Mistake to avoid: using the shelf-stable canister kind if you can avoid it — it doesn’t melt the same way.
1 teaspoon salt, plus more to taste ½ teaspoon black pepper ½ teaspoon garlic powder Seasoning is what keeps this from tasting like plain melted cheese over vegetables. Taste and adjust before it goes in the oven — cabbage can absorb more salt than you’d expect.
Optional: 1 teaspoon dried thyme or a pinch of smoked paprika Either one adds a little extra dimension without changing the character of the dish.
Optional topping: ¾ cup panko breadcrumbs or crushed buttery crackers, tossed with 1 tablespoon melted butter This gives the top a crunchy contrast to the creamy cabbage underneath. Substitution: crushed cornflakes or omit entirely for a softer, all-cheese top. Mistake to avoid: skipping the melted butter — dry breadcrumbs sit on top instead of turning golden.
Why Does My Cabbage Casserole Turn Watery?
This is the question that used to frustrate me the most, so I want to walk through it directly.
Cabbage is mostly water. As it cooks, that water has to go somewhere, and if you don’t account for it, it ends up pooling in the bottom of your baking dish. A few specific mistakes cause this:
Overcooking the cabbage before baking. If you boil or steam it until fully soft on the stovetop, it releases most of its water right into the pan, and that liquid follows it into the casserole dish. I cook mine only until it’s just starting to soften — it finishes cooking in the oven.
Not draining excess liquid. If you do parboil or steam the cabbage, drain it thoroughly and even press it gently with a clean towel or the back of a spoon to push out extra moisture before combining it with the sauce.
Adding too much liquid to the sauce. A cheese sauce that’s already thin before it goes in the oven will only get thinner as the cabbage releases more water during baking. Make sure your sauce is thick enough to coat the back of a spoon before you combine it with the cabbage.
Using very wet ingredients. Canned or frozen vegetables added to the mix can bring in extra water. If you’re adding anything beyond the cabbage itself, make sure it’s well-drained first.
Overcrowding the pan. If the cabbage is piled too deep in too small a dish, it steams rather than roasting, which encourages more liquid release. Use a dish wide enough that the cabbage isn’t more than about two inches deep.
Getting the Best Texture
Before this goes into the oven, I’m looking for cabbage that’s just barely starting to soften — still got some bite to it, not limp. I sauté it in the same pan I used for the onion and garlic, over medium-high heat, stirring occasionally for about 5 to 7 minutes. It should shrink down noticeably in volume and start to smell sweet rather than sharp, but it shouldn’t be fully tender yet.
The reason I stop here is that the oven does the rest of the work. Cabbage continues cooking as the casserole bakes, and if it’s already fully soft going in, it turns to mush by the time the top is golden. Pulling it off the heat while it still has a little structure is what keeps the finished dish from feeling like baby food.
Step-by-Step Instructions
1. Preheat your oven to 375°F and grease a 9×13-inch baking dish. Getting this ready first means you’re not scrambling once everything else is done.
2. Chop the cabbage into rough one-inch pieces, and dice the onion. Consistent sizing here matters — uneven pieces cook unevenly, which is part of what causes some bites to turn mushy while others stay hard.
3. Melt the butter in a large skillet over medium heat, then add the onion. I cook the onion alone first, about 3 minutes, until it turns translucent. This is the step people skip, and it’s the reason a lot of casseroles taste flat — raw onion doesn’t have time to sweeten and mellow.
4. Add the garlic and cook for 30 seconds, just until fragrant. Garlic burns fast, so I add it after the onion is already soft rather than at the same time.
5. Add the cabbage to the skillet and sauté for 5–7 minutes, stirring occasionally. I’m watching for that just-starting-to-soften stage described above, not fully tender.
6. Move the cabbage mixture to a bowl and set aside. In the same skillet, make the sauce: melt any remaining butter, whisk in the flour, and cook for about a minute. Using the same pan saves a dish, and cooking the flour briefly removes the raw taste before the milk goes in.
7. Slowly whisk in the milk, a little at a time, until the sauce is smooth and starts to thicken, about 3–4 minutes. Adding it gradually is what prevents lumps — dumping it all in at once is a common misstep.
8. Remove from heat and stir in the cheddar, Parmesan, salt, pepper, and garlic powder until smooth. Taking the pan off the heat before adding cheese helps it melt smoothly instead of turning grainy or separating.
9. Combine the cabbage mixture with the cheese sauce and stir until evenly coated. This is where you can taste and adjust seasoning one more time before baking.
10. Transfer to the prepared baking dish and spread evenly. Keeping it in an even layer, not piled in the center, helps everything cook and brown consistently.
11. If using a crunchy topping, sprinkle it evenly over the top now. Adding it before baking, rather than partway through, gives it time to turn golden alongside the cheese.
12. Bake uncovered for 25–30 minutes, until bubbling and golden on top. Baking uncovered lets excess steam escape rather than trapping it, which helps prevent the watery texture issue.
13. Let it rest for 5–10 minutes before serving. This is a step I used to skip, and it’s a mistake. The sauce needs a few minutes to set up; serve it too soon and it runs thin on the plate even when it wasn’t actually watery.
Mistakes I Avoid
Making the cabbage too wet by fully boiling it before baking — I sauté it just until it starts to soften.
Overcooking it before baking, which leaves no texture left by the time it comes out of the oven.
Using too much liquid in the sauce — I keep it thick enough to coat a spoon before it touches the cabbage.
Under-seasoning. Cabbage is mild and needs a real amount of salt and pepper, so I always taste the mixture before baking.
Adding cheese too early, while the pan is still over direct heat — it can turn grainy. I pull the sauce off the burner first.
Cutting the cabbage inconsistently, which leads to some bites turning mushy while others stay too firm.
Serving immediately, before the casserole has had a chance to rest and set.
Variations to Try
Extra-cheesy version: add an extra half cup of cheddar to the sauce, and layer a little extra cheese halfway up the dish, not just on top.
Garlic and herb version: double the garlic and stir in a tablespoon of fresh chopped parsley or a teaspoon of Italian seasoning.
Spicy version: add a pinch of cayenne or a few dashes of hot sauce to the cheese sauce, or use pepper jack in place of some of the cheddar.
Protein-added version: stir in a cup of cooked, crumbled bacon, diced ham, or shredded rotisserie chicken before baking to turn this into a full meal.
Vegetarian version: the base recipe is already vegetarian as long as you skip the meat add-ins — just double-check your Parmesan if you’re being strict about rennet.
Lower-carb variation: skip the flour-thickened sauce and instead stir in cream cheese and a smaller amount of milk for a naturally thicker, lower-starch sauce. Skip the breadcrumb topping too. This makes the dish lighter on carbohydrates, though it isn’t a specific diet plan and results will vary.
Crunchy topping variation: swap breadcrumbs for crushed buttery crackers or even crushed cornflakes for a different kind of crunch.
Budget-friendly version: stick to a single cheese (just cheddar, no Parmesan), skip the topping, and use whatever milk you already have. It’s still good.
What to Serve With Cheesy Cabbage Casserole
For a weeknight dinner, simple baked or pan-seared chicken thighs work well — the casserole is rich enough that the chicken can stay plain. For holiday meals, it holds its own next to ham or roast, almost like a stand-in for green bean casserole with more substance. For family dinners, pair it with meatloaf or baked pork chops for a full plate with little extra effort. As a simple lunch, I’ll eat a bowl on its own with crusty bread. For a meat-based meal, it complements grilled sausage or steak, and for a vegetarian meal, pair it with a simple grain like rice and a green salad.
Make-Ahead and Storage
You can assemble the casserole up to a day ahead: combine the cabbage and sauce, put it in the baking dish, cover tightly, and refrigerate. Add the crunchy topping right before baking rather than the day before, so it doesn’t go soft.
Refrigerating leftovers: store in an airtight container in the refrigerator for up to 3–4 days.
Reheating: I reheat individual portions in the microwave, or the whole dish covered in a 350°F oven until warmed through, about 15–20 minutes. Reheating uncovered for the last few minutes helps re-crisp the top if you used a breadcrumb topping.
Keeping the texture from becoming soggy: avoid reheating on very high microwave power for long stretches, since it can make the sauce separate. Shorter bursts at medium power work better.
Freezing: this casserole can be frozen, though the texture of the cabbage softens further after thawing, and cream-based sauces can separate slightly. If you plan to freeze it, I’d recommend freezing it before baking, then thawing in the refrigerator overnight and baking fresh.
How I Fit This Cabbage Casserole Into My Meal Planning
Recipes like this one are easiest to actually make on a regular basis when they’re part of a plan rather than something I’m deciding on the fly at 5:30 on a Tuesday. I’ve found that having a simple system for meal planning — even just knowing a few nights ahead what I’m cooking and what I already have on hand — makes it much more likely that a head of cabbage gets used instead of forgotten.
This is actually one of the reasons I like recommending the Meal Planning Made Easy E-books (this is an affiliate link, meaning I may earn a small commission if you purchase through it, at no extra cost to you). It’s a resource built for exactly the “what am I cooking tonight” problem — it’s helped me organize recipes I already like, including ones like this cabbage casserole, into an actual weekly rhythm instead of scrambling at the last minute. If you tend to have good intentions about cooking at home but struggle to actually land on a plan, it’s worth a look: Meal Planning Made Easy E-books.
I don’t think any single resource fixes meal planning on its own, but having a framework — plus a handful of dependable, budget-friendly recipes like this one — makes weeknight cooking feel a lot less like a daily decision from scratch.
Frequently Asked Questions
Can I make cheesy cabbage casserole ahead of time? Yes. Assemble it up to a day in advance, cover, and refrigerate. Add any breadcrumb topping just before baking.
How do I stop cabbage casserole from becoming watery? Don’t fully cook the cabbage before baking, drain any liquid if you steam or boil it, keep the sauce thick, and bake uncovered so steam can escape. Let it rest before serving.
What cheese melts best in this recipe? Freshly shredded sharp cheddar is my go-to. Block cheese you shred yourself melts more smoothly than pre-shredded bagged cheese, which is coated in starch to prevent clumping.
Can I use pre-shredded cabbage (coleslaw mix)? Yes, it works and saves time. Just check that it’s mostly green cabbage rather than a mix heavy on carrots, which will change the flavor slightly.
Can I add meat to this recipe? Yes — cooked bacon, diced ham, or shredded chicken all work well stirred in before baking, turning it into a more complete meal.
Can I make it without breadcrumbs? Absolutely. The casserole is still creamy and golden without a crunchy topping; it just has an all-cheese top instead.
How should I reheat leftovers? In the microwave in short bursts at medium power, or covered in a 350°F oven for 15–20 minutes, uncovering it for the last few minutes to re-crisp the top.
Can I freeze cabbage casserole? You can, though the texture softens after thawing. I recommend freezing it unbaked, then thawing overnight in the fridge and baking it fresh for the best texture.
What can I serve with cabbage casserole? It pairs well with roast chicken, baked pork chops, grilled sausage, or a simple grain and salad for a vegetarian plate.
Can I use red or Savoy cabbage instead of green? Savoy works well and has a more tender leaf. Red cabbage works too, but it will tint the sauce a purplish color and has a slightly stronger flavor — green cabbage gives the most classic result.
Recipe Card
Cheesy Cabbage Casserole
Prep Time: 15 minutes Cook Time: 35 minutes Total Time: 50 minutes Servings: 6 (side dish) / 4 (main dish) Estimated Cost: Around $8–10 total, roughly $1.50–2.00 per serving Course: Side Dish or Light Main Cuisine: American, Comfort Food Equipment: Large skillet, whisk, 9×13-inch baking dish Calories: Varies by ingredients and portion size
Ingredients
- 1 medium head green cabbage (about 2 lbs), cored and chopped into 1-inch pieces
- 1 medium yellow onion, diced
- 3 cloves garlic, minced
- 3 tablespoons butter, divided
- 3 tablespoons all-purpose flour
- 1 ½ cups whole milk
- 2 cups shredded sharp cheddar cheese
- ½ cup grated Parmesan cheese
- 1 teaspoon salt, plus more to taste
- ½ teaspoon black pepper
- ½ teaspoon garlic powder
- Optional: 1 teaspoon dried thyme
- Optional topping: ¾ cup panko breadcrumbs + 1 tablespoon melted butter
Instructions
- Preheat oven to 375°F and grease a 9×13-inch baking dish.
- Chop cabbage into 1-inch pieces; dice the onion.
- Melt half the butter in a large skillet over medium heat. Cook onion about 3 minutes until translucent.
- Add garlic and cook 30 seconds until fragrant.
- Add cabbage and sauté 5–7 minutes, until just starting to soften but not fully tender.
- Transfer cabbage mixture to a bowl. In the same skillet, melt remaining butter, whisk in flour, and cook 1 minute.
- Gradually whisk in milk, cooking 3–4 minutes until thickened and smooth.
- Remove from heat; stir in cheddar, Parmesan, salt, pepper, and garlic powder until smooth.
- Combine cabbage mixture with the cheese sauce; stir to coat evenly. Taste and adjust seasoning.
- Spread mixture evenly in the prepared baking dish.
- If using, toss breadcrumbs with melted butter and sprinkle over the top.
- Bake uncovered 25–30 minutes, until bubbling and golden.
- Rest 5–10 minutes before serving.
Notes
- The single biggest fix for watery cabbage casserole: don’t fully cook the cabbage before baking, and make sure your cheese sauce is thick enough to coat a spoon before combining it with the cabbage.
- Bake uncovered so steam can escape rather than getting trapped.
- Freshly shredded cheese (not the bagged pre-shredded kind) melts into a smoother, more golden top.
- Always let the casserole rest before serving — this is what keeps the sauce from looking thin on the plate.
