Skeptics at my table get converted by this cheesy brussels sprouts casserole: crispy fried sprouts in a rich sharp cheddar and nutty gruyere sauce, topped with crunchy bacon bits, at 2.1g net carbs and 14.1g protein per serving.
Unless they are wrapped in bacon or topped with cheese, I don’t really care for brussels sprouts. Luckily, this cheesy brussels sprouts casserole has both bacon and cheese disguising any bitter flavor that comes through.
Despite them being a cute mini cabbage for my Barbies to eat, it was a battle at the dinner table to get my 6 year old self to eat the mushy, grey-green bitter vegetable side dish that my mom tried to dress up with butter and salt.
But by the age of 40 (yes, it took me that long), I discovered they don’t have to be microwaved or steamed. They could be sauteed and fried in bacon grease or roasted until the edges get golden and crispy. Even better was adding cheese. Because cheese goes with everything, except cinnamon rolls (but that’s another story).
I fry the halved sprouts cut-side down in the leftover bacon grease until they pick up those deep brown, almost caramelized edges. They don’t need to cook all the way through at this point because the oven finishes the job. That initial sear is what separates this from every mushy casserole I grew up eating.
The sauce is where I get particular. I use sharp cheddar for punch and gruyere for that nutty, slightly sweet depth that you can’t get from cheddar alone. I go back and forth between gruyere and just more sharp cheddar, but the gruyere wins every time. Stir both cheeses into heavy cream, season with paprika and a pinch of nutmeg, and let the oven pull it all together into a bubbling, golden mess.
This is my favorite keto side dish for holidays (I bring it to Thanksgiving every year) or any night I want something that feels indulgent without the carb load. If you’re into cheesy keto sides, try my keto cauliflower gratin or my loaded cauliflower casserole for a similar vibe with a different vegetable.
How this recipe will turn you into a brussels sprouts lover
Bacon. Not only does it add a smoky flavor to this low carb side dish, it helps you forget you are eating one of the most hated vegetables by children everywhere. I cook it first and use the grease for frying the sprouts, so nothing goes to waste.
Two types of cheese. I couldn’t settle for just cheddar. That’s just so basic. I wanted a nutty, creamy, salty layer to envelope these bitter morsels, and the gruyere delivers that.
Crispy, not mushy. There is no space in the universe for soggy sprouts. You haven’t lived until you’ve tried them with fried, crispy edges.
One skillet. I hate doing dishes. If a side dish requires multiple pans, I’m not making it. This baked casserole can be made start to finish in the same oven-proof skillet.
Can I use frozen brussels sprouts?
Yes, but I’ve learned you need to thaw and drain them completely first. Frozen sprouts hold a lot of water, and if that moisture gets into the casserole, you end up with a watery, soupy mess instead of a thick cheesy sauce. I pat mine dry with paper towels after thawing. If the sauce still seems thin, I stir in an egg yolk or a teaspoon of arrowroot powder to thicken it back up.
Swaps and variations I've tested
For the heavy cream
Looking for a dairy-free or lower calorie version? I’ve swapped the heavy cream for unsweetened almond milk and macadamia nut milk. Both work, but since nut milk is thinner, you’ll need to add a thickener. I mix in one egg yolk or one teaspoon of arrowroot powder. Reader Carey actually made this exact swap with almond milk and an egg yolk and said her family loved it.
For the cheeses
Sharp cheddar and gruyere are my go-to combo, but I’ve also tested this with Monterey Jack, fontina, parmesan, and mozzarella. Fontina gives you a similar nutty melt to gruyere if you can’t find it. Dairy-free cheese works here too. If you enjoy cheesy keto dishes, my cauliflower mac and cheese uses a similar two-cheese approach, and my keto green bean casserole is another creamy vegetable side I keep in rotation.
Seasoning
Instead of paprika and nutmeg, I sometimes add garlic powder, fresh parsley, red pepper flakes, or smoked paprika. The smoked paprika with the bacon is a combination I keep coming back to.
Add a crispy topping
I’ve crushed pork rinds over the top during the last 3-4 minutes of baking, about half a cup, roughly crushed (not powdered). The salty crunch plays off the creamy sauce and stays crisp even after the casserole sits. I’ve also grated parmesan over the top and run it under the broiler for 2 minutes for a golden crust.
Make-ahead for holidays, storage, and reheating
This is one side dish that I actually prefer the next day. The flavors settle, the sauce thickens, and the brussels sprouts absorb more of that cheesy goodness overnight. I make this ahead for holidays every year.
Prep the brussels sprouts
All the trimming, washing, and slicing can be done a few days ahead of time. I store them in a sealed container in the fridge. Reserve frying them until the day you assemble the whole dish. I cook and crumble the bacon and shred the cheeses the day before too, each in its own container in the fridge.
One thing I don’t do is fully assemble the casserole the night before and bake it the next day. I tried it, and the sauce thinned out and the sprouts got soggy. Prep the parts ahead and assemble day of.
Assembling and storing the casserole
Prepare the casserole through baking, then let it cool and store in the refrigerator for up to 2 days. I cover the skillet with foil so the top doesn’t dry out.
Reheating instructions
Reheat in the oven at 350 degrees for 5-8 minutes or until heated through and the cheese is bubbly again. I add a splash of cream before reheating to keep the low carb brussels sprouts gratin from drying out.
Can you freeze this?
You can freeze it, but I’ll be honest, the texture changes. The moisture in the brussels sprouts freezes and releases when reheated, so you end up with a slightly waterier result. If I’m making this for a holiday spread, I prep the components ahead but hold off on baking until the day of.
In a large skillet, cook bacon over medium-high heat until crispy. Remove from the skillet, place on a paper towel lined plate to cool. Chop cooled bacon into bacon bits. Leave remaining bacon grease in the skillet.
For this step
4 strips bacon
3
Halved brussels sprouts
Meanwhile, cut the brussels sprouts in half lengthwise.
For this step
16 oz brussels sprouts
4
Fried brussels sprouts
Reheat the skillet with the bacon grease to medium-high heat. Add minced garlic. Place brussels sprouts, cut side down on the skillet, cover and let cook until the bottom of the sprouts have browned (about 2-4 minutes). You might have to work in batches. The brussels sprouts don’t need to cook all the way through yet.
For this step
1 clove minced garlic
5
Make it creamy and cheesy
Add cooked brussels sprouts to a square baking dish or keep them in the skillet if oven proof. Stir in heavy cream, both shredded cheeses, salt, paprika and nutmeg. Top with crumbled bacon.
For this step
1/2 cup heavy cream
1/2 cup shredded cheddar cheese
1/2 cup shredded Gruyere cheese
1/2 teaspoon salt
1/4 teaspoon paprika
pinch of nutmeg
crumbled bacon
6
Bake
Bake uncovered at 350°F for 10-14 minutes or until brussels sprouts are cooked through. Brussels sprouts are done when a fork or knife can slide through them. Let sit for a few minutes.
Nutrition
Per serving: 1/6 of recipe
Calories
292
Fat
23.4g
Protein
14.1g
Total carbs
3.3g
Net carbs
2.1g
Nutrition is an estimate calculated from the ingredients listed. Brands vary, so check labels if you track closely.
Frequently Asked Questions
Do I need to grate my own cheese for this casserole?
I always grate my own. Pre-shredded cheese is coated in anti-caking agents (usually cellulose or potato starch) that keep it from melting into a smooth sauce, and that coating is the most common cause of a grainy, gritty texture. A box grater takes me about 2 minutes, and the sauce comes out noticeably silkier. Bagged shreds work in a pinch, but the sauce never gets as smooth.
Can I roast the brussels sprouts in the oven instead of frying?
I've done it both ways. Spread the halved sprouts in a single layer on a foil-lined baking sheet and roast at 425 degrees for 20-25 minutes. You'll get a slightly different char than the stovetop method (more even browning, less of that deep sear on the flat side), but the flavor is still great. I reach for the oven method when I'm making a bigger batch and don't want to fry in multiple rounds.
Why is my cheese sauce thin and watery?
With fresh sprouts, the usual culprit is moisture that never cooked off. I make sure the halved sprouts get a full sear in the bacon grease before they go in the oven, because water the sear doesn't drive off ends up thinning the cream. The baking dish matters too: glass traps steam around the casserole, so I bake in metal, ceramic, or the oven-proof skillet itself.
Are brussels sprouts keto?
They are. I track my macros pretty closely, and they sit in that slightly-higher-carb zone for green vegetables. According to the USDA, one cup has about 8g total carbs and 5g net carbs. I fit them into my keto meals regularly, especially when I'm pairing them with high-fat ingredients like bacon and cheese that keep my ratios in check.
Can I make this without bacon?
I've made a vegetarian version by skipping the bacon and frying the sprouts in butter instead. You lose the smoky layer, so I add a half teaspoon of smoked paprika to the cheese sauce to get some of that back. It's a different dish, but the two-cheese sauce still does the heavy lifting. My sister-in-law is vegetarian and this is the version I make when she comes over.
I stopped tossing the loose leaves that fall off when you halve the sprouts and scattered them over the cheese instead. They crisp like chips up top. BEST part of the pan!!
Never thought to fry vegetables in bacon grease until this recipe. Went too hot on the first try and made a mess of the skillet, but once I dialed it back the sprouts got this crispy edge that held through the bake. The cream tightened up without any flour, which I didn’t expect. Do the sprouts need to be bone dry before hitting the pan, or does the extra moisture just cook off?
This is the one that converts haters. Brought it to Thanksgiving two years ago and watched someone eat three servings while insisting they don’t like vegetables. The gruyere is what does it. That nutty, slightly sharp flavor clings to the sprouts in a way plain cheddar doesn’t. Bacon grease matters. More than you’d think. Cook the sprouts in butter and it’s good. But cook them in leftover bacon fat, there’s this depth that’s hard to replicate.
Couldn’t wrap my head around no roux, no thickener, just cream poured straight in. Stood there watching it bubble, fully expecting it to break. The cheddar and gruyere pulled into this thick, glossy sauce I never saw coming, and the brussels sprouts were just coated in it, every piece. Still don’t know how it works. And I won’t shut up about it.
23 grams of fat per serving on a vegetable side was the number that made me reorganize my entire prep day around this casserole, and I have zero regrets. Two months of Sundays. What nobody mentions is what happens to the leftovers: the gruyere and cream sauce tightens overnight into something denser and more concentrated than day one. It doesn’t taste like reheated food. I store the bacon bits separately so every reheated portion gets real crunch, not the soft pieces that’ve absorbed into the sauce by morning. If you’re batching this, cook a few extra strips beyond the four the recipe calls for and keep them in a small jar in the door. Six portions per batch gets me through Wednesday, and it’s the only thing in my current rotation I actually look forward to reheating.
Put this on the table at a dinner I hosted without saying what was in it. A guest who’s been avoiding vegetables since 1997 took a second helping, then asked what the creamy sauce was. When I said gruyere she looked genuinely annoyed, like she’d been tricked into liking something healthy. The bacon on top probably helped.
The ‘genuinely annoyed’ reaction is exactly what I’m going for. I’ve made this for people who announce at the start of dinner that they don’t eat vegetables, and there’s this moment where they realize they just ate a second plate of brussels sprouts and have to quietly process that. Gruyere has this melted, nutty quality that doesn’t set off anyone’s health radar. The bacon handles the first bite so by the time they’ve identified the sprouts, they’re past the point of objecting.
Made this twice and the sauce keeps coming out thin and watery, which is driving me a little crazy because the flavor is so good. The gruyere and cheddar combo is fantastic but I’m getting a loose cream sauce instead of that thick, glossy coating in the photos. My guess is the brussels sprouts are releasing moisture during the bake, even though I fry them in the bacon grease exactly as written and shake off the excess before adding them. Both times: glass square baking dish, 350, full time. Would reducing the heavy cream more before the bake help? Or higher temp for more evaporation? Not sure what I’m missing.
My son has refused brussels sprouts his entire life. Not politely declined, I mean full theatrical disgust any time they showed up on the table. Made this Sunday because I was genuinely curious about the cheddar and gruyere together, figured the bacon grease situation would at least get me through it personally. He ate several of the halves before he realized what they were, stopped and asked what the ‘green things’ were, and when I told him he just kept eating. That moment kind of broke my brain. The sauce is heavy in a way that transforms what the sprouts even are, and the edges where the gruyere catches get this soft-crispy thing going that I wasn’t expecting as a beginner with this vegetable. Four stars because I think I’d add an extra strip or two of bacon next time and go a little longer in the oven, but for converting a kid who once cried at the sight of a brussels sprout, I’m calling this a win.
Yeah add the bacon and go a few minutes longer. The gruyere edge thing you noticed really sets up in those last few minutes – pull it too early and you miss half the dish. That son story is exactly why this one stays in rotation.
Made this four or five times now. The thing I keep coming back to is frying the brussels in the bacon grease before they go into the baking dish. Skipped that step once and they came out soft and watery. Totally different. Gruyere is worth buying separately rather than just doubling the cheddar; it melts into the sauce differently. My only note: bump the paprika up. The pinch called for barely shows up and I want it to actually come through. Four stars because I’m still adjusting, but this is the side dish I’ve made more than anything else over the past few months.
Yeah bump it. Half a teaspoon is where it actually registers. Quarter was always meant to be background flavor but if you want it to show up, half is the move.
I’ve avoided brussels sprouts my whole life (bitter, mushy, not worth it) but the gruyere sauce on these completely broke me. Nothing I’ve cooked before comes close.
Made this four times now. Last week I threw in a pinch of red pepper flakes with the garlic while the brussels were frying. The heat cuts through the gruyere sauce nicely, like it belongs there. Made it straight the first few times and it was already solid, but that little tweak did something.
Tip for anyone using larger sprouts: halve them and give them an extra 2 minutes in the bacon grease before they go into the baking dish. Mine were on the bigger side and needed that extra sear time. Still used the full oven time and the sauce came together perfectly.
Used smoked Gruyere instead of regular and it completely changed how the bacon reads in this dish. The smokiness ties in instead of just coexisting and the whole thing tastes more intentional. Found it at Whole Foods specialty counter. Also: let the brussels ride in the bacon grease a solid 7-8 minutes before pulling them, the caramelized edges are worth it and they hold up better in the oven.
Right? I go back and forth between gruyere and just sharp cheddar, but the gruyere definitely has that nutty thing going on that works with the brussels sprouts.
Just recently got into eating Brussels sprouts with a recipe for the air fryer, which is good. This recipe takes them to a whole other level! The creamy cheese and bacon do tone down the earthy brussel sprout flavor. Which my family really enjoyed! We paired it with a “surf and turf” meal of steak and salmon. YUM!
I substituted the gruyere cheese with mozzarella cheese and the heavy cream with almond milk and an egg yolk. Would like to try it again with the heavy whipping cream and the gruyere cheese (or even a sharp!) Would recommend it for Brussels sprout eaters.Thank you!