Keto always seemed like the diet that took everything away. No bread, no pasta, no potatoes — just meat and sadness, if you believed what people said about it. I went in skeptical. Like, genuinely resistant. My friend kept pushing me to try it, and I kept brushing her off. Then she made this casserole and brought it to dinner.
I took one bite and felt embarrassed for every bad thing I’d ever thought about keto food. It was warm and cheesy and loaded with crispy bacon, and the broccoli and cauliflower underneath had soaked up all that creamy sauce. It tasted rich in a way that made me forget I was eating vegetables.
This is the dish that convinced me keto doesn’t have to feel like deprivation. It’s genuinely satisfying — the kind of thing you’d bring to a family dinner without announcing it’s “diet food.”
Why This Fits Keto
Each serving of this casserole comes in at around 320 calories, 26g of fat, 6g of net carbs, and 15g of protein. That fat-to-carb ratio is exactly what keto needs — the high fat from mozzarella, cheddar, sour cream, heavy cream, and mayo keeps you full, while the broccoli and cauliflower keep carbs low without sacrificing volume. Both vegetables are keto staples for a reason: they’re dense, filling, and hold up well under heat. The bacon adds protein and smoky flavor without touching your carb count. There’s no filler, no starch, no hidden sugar in this sauce — just whole ingredients that work together.
Ingredients
- 9 slices of bacon — crisped up and crumbled over the top
- 1 1/2 cups mozzarella cheese — shredded, for that stretchy melt
- 1 1/2 cups cheddar cheese — shredded, sharp flavor to balance the richness
- 5 tbsp fresh chives — chopped, adds a mild brightness
- 1/2 cup sour cream — the tangy backbone of the sauce
- 1/2 cup mayonnaise — makes the sauce creamy and thick
- 1 small head cauliflower — cut into florets
- 1 small head broccoli — cut into florets
- 1 1/2 tbsp heavy cream — rounds out the sauce texture
- 1/3 tsp black pepper — straightforward seasoning
How to Make It
Step 1: Cook the Bacon
Start with a large skillet over medium heat. Lay the bacon strips flat in the pan — don’t crowd them if you can help it, since they crisp better with a little space. Cook for about 5 to 7 minutes, flipping once partway through, until they’re golden brown and fully crisped. You want them crunchy, not chewy, because they’re going on top of the casserole where texture really shows.
Once they’re done, transfer them to a plate lined with paper towels. The paper towels pull out the excess grease, which keeps the casserole from getting oily on top. Let the bacon cool for a few minutes before breaking it into small pieces — it snaps more cleanly when it’s not still hot. Set it aside for later.
Step 2: Prepare the Vegetables
Fill a large pot with water, season it with a pinch of salt, and bring it to a rolling boil. Add the broccoli and cauliflower florets and cook them for 3 to 4 minutes. That’s it. You’re not cooking them through — you’re just taking the raw edge off so they don’t fight back when you bite them later. Soft, waterlogged vegetables will ruin the texture of this casserole, so pull them early.
Drain the florets into a colander and then leave them alone for several minutes. That resting time matters — steam keeps escaping and the vegetables dry out on the surface, which means the sauce will cling to them instead of sliding off. If you’re in a rush, you can pat them lightly with a clean kitchen towel. Either way, don’t skip the draining step.
Step 3: Make the Cheese Sauce
Grab a large mixing bowl and add the sour cream, mayonnaise, heavy cream, and black pepper. Whisk everything together until it’s smooth and uniform — there shouldn’t be streaks of any one ingredient. The combination sounds simple, but it creates a genuinely rich, clingy sauce that doesn’t turn watery in the oven the way a béchamel sometimes can.
Once the base is smooth, stir in half of the shredded mozzarella and half of the cheddar. Mix until the cheese is fully worked into the sauce. This layer of cheese inside the sauce is what makes every bite taste cheesy — not just the top. The other half of the cheese gets saved for the topping, where it’ll melt and brown in the oven.
Step 4: Assemble the Casserole
Preheat your oven to 375°F (190°C). While it’s heating up, lightly grease a casserole dish with butter or cooking spray — either works fine. Spread the drained broccoli and cauliflower florets out evenly across the bottom of the dish. Try to get a single, fairly flat layer so the sauce coats everything rather than pooling in the gaps.
Pour the cheese sauce over the vegetables and use a spoon or spatula to spread it out, making sure every floret gets covered. Then scatter the remaining mozzarella and cheddar over the top in an even layer. Sprinkle on the crumbled bacon and chopped chives last. The chives go on raw here — they soften slightly in the oven and give the finished dish a pop of green color and mild onion flavor. If you want to add crushed pork rinds, grated parmesan, or red pepper flakes, now’s the time.
Step 5: Bake It
Slide the dish into the oven and bake for 20 to 25 minutes. You’re looking for cheese that’s fully melted, bubbling at the edges, and starting to turn golden on the surface. The bacon on top will darken slightly, which deepens the flavor. Pull it out when the top looks like something you’d want to eat immediately — because you should.
Let it rest for about 5 minutes before serving. The sauce thickens as it cools, and scooping becomes much cleaner. I’ve skipped this step out of impatience and ended up with a runny mess on the plate. Waiting is worth it.
Swaps for Different Diets
Vegetarian: Skip the bacon entirely. Add an extra handful of shredded parmesan or a layer of crushed pork rinds for texture if you want something on top. The casserole still works well without the meat — it’s just a bit milder.
Higher protein: Stir in shredded rotisserie chicken or cooked ground turkey into the vegetable layer before adding the sauce. It turns this into a full one-dish meal without changing the prep much. A recipe like this keto stuffed bell pepper casserole takes a similar approach if you want more ideas along those lines.
Dairy-sensitive: Swap the sour cream for full-fat coconut cream and use dairy-free shredded cheese. The sauce texture won’t be quite as thick, but it still comes together. This swap works better here than in recipes with a lot of melted cheese on top. If you’re also interested in non-keto veggie casseroles, the easy broccoli quinoa casserole is worth a look.
Nutrition Info
| Nutrient | Per Serving |
|---|---|
| Calories | 320 |
| Fat | 26g |
| Carbohydrates | 6g |
| Fiber | 2g |
| Net Carbs | 4g |
| Protein | 15g |
Serves 6. Values are estimates.
Recipe Card
Cheesy Keto Broccoli and Cauliflower Casserole
Prep time: 15 minutes | Cook time: 30 minutes | Total time: 45 minutes | Serves: 6
Ingredients:
- 9 slices bacon
- 1 1/2 cups mozzarella cheese, shredded
- 1 1/2 cups cheddar cheese, shredded
- 5 tbsp fresh chives, chopped
- 1/2 cup sour cream
- 1/2 cup mayonnaise
- 1 small head cauliflower, cut into florets
- 1 small head broccoli, cut into florets
- 1 1/2 tbsp heavy cream
- 1/3 tsp black pepper
Instructions:
- Cook bacon in a skillet over medium heat for 5-7 minutes until crispy. Drain on paper towels, then crumble and set aside.
- Boil broccoli and cauliflower florets in salted water for 3-4 minutes until just tender. Drain well and let steam off.
- In a mixing bowl, whisk together sour cream, mayonnaise, heavy cream, and black pepper. Stir in half the mozzarella and half the cheddar.
- Preheat oven to 375°F (190°C). Grease a casserole dish and spread the drained vegetables in an even layer.
- Pour the cheese sauce over the vegetables and spread to coat. Top with remaining cheese, crumbled bacon, and chopped chives.
- Bake for 20-25 minutes until the cheese is melted, bubbly, and golden. Rest for 5 minutes before serving.
Storage: Refrigerate in an airtight container for up to 4 days. Freeze for up to 2 months. Reheat in the oven at 350°F for 10-15 minutes.
FAQ
Can I make this ahead of time?
Yes. Assemble the casserole fully but don’t bake it. Cover it tightly and refrigerate for up to 24 hours. When you’re ready to cook, let it sit at room temperature for 15 minutes and then bake as directed — it may need an extra 5 minutes since it’s going in cold.
Can I use frozen broccoli and cauliflower?
You can, but thaw them completely first and squeeze out as much water as possible before using. Frozen vegetables hold a lot of moisture that doesn’t always cook off in the oven. I’ve done it in a pinch and it works, but the texture is noticeably softer than fresh.
What if my casserole turns out watery?
It’s almost always the vegetables. They need to be drained thoroughly after boiling — not just quickly tipped into a colander, but left to steam dry for a few minutes. That extra step really does make a difference. Also check that you’re not overbaking, since that can cause the sauce to break down.
How do I know it’s fully cooked?
The top should be golden and bubbling at the edges, and a knife inserted into the center should come out hot. The sauce underneath will have thickened noticeably from when it went in. If the center still looks loose and pale after 25 minutes, give it another 5.
This casserole has become one of those recipes I make on autopilot now. It’s weeknight-easy but it holds up well enough for a crowd — I’ve brought it to a potluck and watched people go back for seconds without knowing it was keto. If you’re looking for more casseroles worth making on repeat, the cheesy chicken and rice casserole is a solid next step. Different vibe, but that same comfort food energy.