Last Saturday, I was hosting a small dinner party for six friends, and I was in full panic mode. I had planned a fancy roast, but my oven was acting up, and I needed a side dish that could hold its own against the main event. My friend Sarah, who is strictly keto, looked at me with that sympathetic “I know you’re stressed” look and said, “Just make the cauliflower mac and cheese. The good kind. Not the sad, watery stuff.”
I’ve made cauliflower mac and cheese before. A lot of times. And let’s be honest, some of those attempts were… let’s call them “educational.” I’ve had curdled sauces, mushy florets, and cheese that tasted more like plastic wrap than actual dairy. I was ready to just order takeout and call it a night.
But then I remembered a trick I’d picked up from a French chef years ago: treat the cauliflower like a potato, not a vegetable. And use sharp cheddar. Like, a lot of sharp cheddar. I whipped up a roux-based sauce that was thick, glossy, and aggressively cheesy. I roasted the cauliflower until it had these beautiful browned edges, drenched it in the sauce, and threw it in the oven.
When I pulled it out, the kitchen smelled like a cozy autumn evening. The friends who aren’t low-carb devoured it. The friends who are low-carb asked for the recipe before I’d even finished my glass of wine. It wasn’t just “good for a diet food.” It was indulgent. It was rich. It was better than any takeout mac and cheese I’ve ever had.
This Low-Carb Cauliflower Mac and Cheese has become my go-to for any gathering where I want to impress without stressing. It’s creamy, it’s tangy, and it has that perfect comfort-food texture that makes people close their eyes when they take the first bite. If you’ve been avoiding cauliflower because you think it’s boring or difficult, this recipe will change your mind. Forever.
Why You’ll Love This Low-Carb Cauliflower Mac and Cheese
There are about ten reasons I keep making this, but here are the big ones. This isn’t just a substitute for mac and cheese; it’s a dish that stands on its own merits.
It’s Actually Creamy — Most low-carb recipes fail because the sauce is thin or watery. This one uses a proper roux and a blend of cheeses to create a sauce that clings to every floret. It’s velvety, not runny. I’ve served this to picky eaters who swear they hate cauliflower, and they always ask for seconds.
Sharp Cheddar Makes All the Difference — I don’t use mild cheddar. Mild cheddar is for people who want their cheese to disappear. I use extra-sharp cheddar (like aged cheddar) because it has a punchy, tangy flavor that cuts through the richness of the cream and butter. It tastes sophisticated, not like a kid’s lunch.
It’s Better Than Takeout — Seriously. Takeout mac and cheese is often loaded with preservatives and heavy thickeners. This version is made from scratch with real ingredients. It’s fresher, healthier, and honestly tastes better because you control the quality of every component. Plus, it’s ready in about 45 minutes.
It’s a Crowd-Pleaser — I’ve made this for keto friends, paleo friends, and friends who just want to eat more vegetables. Everyone loves it. It’s the perfect bridge dish for mixed dietary groups. No one feels left out, and everyone feels fed.
It Looks Stunning — When you pull this out of the oven, it’s golden brown on top with bubbling cheese. It looks like a restaurant dish. It looks special. It looks like you put in effort, even though it’s actually pretty simple.
This is my go-to when I need a side dish that wows. It’s comforting, it’s rich, and it’s low-carb without feeling like a sacrifice. If you’re planning a dinner party, a cozy night in, or just want to treat yourself to something indulgent, this is it.
Ingredients You’ll Need
Here’s the best part: you probably have most of this already. I’m particular about three ingredients here, and I’ll tell you exactly why.
For the Cauliflower
Large head of cauliflower (about 2-2.5 pounds / 900g-1.1kg) — Look for a tight, heavy head. Loose florets mean it’s older and might be bitter. I buy one big head and cut it into bite-sized florets. Don’t make them too small, or they’ll turn to mush.
Butter (2 tablespoons / 30g) — Unsalted butter. I use Kerrygold or Plugra. Good butter makes a huge difference in the flavor of the sauce.
Garlic powder (1 teaspoon) — I use garlic powder in the cauliflower, not fresh garlic, because it infuses the florets evenly without burning. Fresh garlic can get bitter if roasted too long.
Salt and pepper — To taste. I use about 1 teaspoon of sea salt for the cauliflower.
For the Cheese Sauce
Butter (2 tablespoons / 30g) — For the roux. Again, good quality butter.
All-purpose flour (2 tablespoons / 15g) — Or almond flour if you want to keep it strictly keto. All-purpose makes a slightly smoother sauce, but almond flour works fine if you whisk well.
Chicken broth (1 cup / 240ml) — Low-sodium. I use Better Than Bouillon for convenience, but any good quality broth works. Vegetable broth works for vegetarian version.
Heavy cream (1 cup / 240ml) — Full-fat only. Half-and-half makes it too thin. Trust me on this. You want richness.
Sharp cheddar cheese (2 cups / 200g, freshly grated) — This is the star. Buy a block and grate it yourself. Pre-grated cheese has anti-caking agents that make the sauce grainy. I use a mix of extra-sharp cheddar and a little gouda for creaminess.
Dijon mustard (1 teaspoon) — Not for flavor, but for emulsification. It helps the cheese melt smoothly and adds a tiny bit of tang.
Smoked paprika (½ teaspoon) — Adds a subtle smokiness that makes the dish feel more complex. Optional but recommended.
Optional Add-ins:
Cooked bacon bits (½ cup) — For non-keto friends who love bacon. I sprinkle these on top before baking.
Fried onions (¼ cup) — For crunch. I use low-carb fried onions if I’m keeping it keto.
Equipment Needed
You don’t need fancy equipment for this. Here’s what I actually use.
Large skillet or saucepan — I use a 10-inch stainless steel skillet. It needs to be big enough to hold the sauce and stir easily. My ancient pot from college still works fine.
Baking dish — 9×13 inch. I use a ceramic baking dish because it retains heat well and gives you a nice crust on top. Glass works too.
Microplane or box grater — For grating the cheese. Box grater is fine, but microplane makes it easier to get fine shreds.
Whisk — For the roux. Non-stick whisk is best to avoid scratching your pan.
Roasting pan — For roasting the cauliflower. I use a rimmed baking sheet.
Spatula — For stirring the sauce and transferring the cauliflower.
How to Make It: Step-by-Step
Alright, let’s make this! I’m walking you through exactly how I do it, including the little tricks I’ve picked up.
Step 1: Prep the Cauliflower (10 minutes)
Preheat your oven to 400°F (200°C). Cut the cauliflower into bite-sized florets. You want them to be roughly the same size so they cook evenly. I like to keep the stems on—they’re delicious and not wasteful. Toss the florets with melted butter, garlic powder, salt, and pepper on a large baking sheet. Spread them out in a single layer. Don’t crowd them, or they’ll steam instead of roast.
Step 2: Roast the Cauliflower (20-25 minutes)
Roast the cauliflower for 20-25 minutes, flipping halfway through. You want the edges to be golden brown and slightly crispy. This is crucial. Roasting adds flavor and texture that boiling never will. The cauliflower should be tender but still have a bit of bite. Remove from the oven and set aside.
Step 3: Make the Roux (3 minutes)
In your large skillet, melt the 2 tablespoons of butter over medium heat. Once foamy, whisk in the flour. Cook for 1-2 minutes, stirring constantly, until it turns a light golden color. This cooks out the raw flour taste. Don’t rush this step. If you add liquid too soon, you’ll get lumps.
Step 4: Build the Sauce (5 minutes)
Slowly whisk in the chicken broth, a little at a time, to avoid lumps. Then whisk in the heavy cream. Keep whisking until the sauce thickens and comes to a gentle simmer. This should take about 3-4 minutes. The sauce should coat the back of a spoon. If it’s too thick, add a splash more broth. If it’s too thin, let it simmer longer.
Step 5: Add the Cheese (2 minutes)
Remove the skillet from heat. This is important. High heat can make cheese grainy. Stir in the Dijon mustard and smoked paprika. Then, gradually add the grated cheddar cheese, a handful at a time, stirring until each addition is melted before adding more. The sauce should be smooth and glossy. If it looks grainy, you can whisk in a splash of warm cream to bring it back together.
Step 6: Combine and Bake (15 minutes)
Transfer the roasted cauliflower to your baking dish. Pour the cheese sauce over the cauliflower, making sure every floret is coated. If you’re adding bacon or fried onions, sprinkle them on top now. Bake at 375°F (190°C) for 15 minutes, or until the top is bubbly and golden brown. Let it rest for 5 minutes before serving. This helps the sauce set slightly so it’s easier to scoop.
Expert Tips & Tricks
Here’s everything I’ve learned from making this dozens of times. These tips will save you from my mistakes.
Roast, Don’t Boil
This is the #1 tip. Boiling cauliflower makes it watery and bland. Roasting concentrates the flavor and gives you a nice texture. I’ve tried both, and roasting is always better. Set out your roasting pan before you even start cooking so you don’t forget.
Grate Your Own Cheese
Pre-grated cheese has cellulose to prevent clumping, which makes the sauce grainy. Grate your own from a block—takes 3 minutes and makes a huge difference. My husband can tell when I’ve been lazy and used pre-grated. He’ll complain for days.
Don’t Skip the Dijon
It’s not for the mustard flavor. It’s for the emulsifiers. It helps the cheese melt smoothly and adds a tiny bit of tang that balances the richness. You won’t taste the mustard, but you’ll taste the difference.
Use Sharp Cheddar
Mild cheddar is too subtle. You need the punch of extra-sharp cheddar to stand up to the cream and butter. I use a mix of sharp cheddar and a little gouda for creaminess. But the sharp cheddar is non-negotiable.
Let It Rest
When you pull it out of the oven, let it rest for 5 minutes. This helps the sauce thicken slightly and makes it easier to serve. If you serve it immediately, it might be a bit soupy.
Variations & Substitutions
Once you’ve nailed the basic version, here’s how you can mix it up. I’ve tried all of these.
Bacon Lovers
Add ½ cup of cooked, crumbled bacon on top before baking. This is my husband’s favorite version. It adds a smoky, salty crunch that contrasts with the creamy cheese.
Spicy Kick
Add ½ teaspoon of cayenne pepper or a diced jalapeño to the sauce. If you like heat, this is a great way to add it. I sometimes add a dash of hot sauce to the sauce for extra flavor.
Vegetarian
Use vegetable broth instead of chicken broth. Everything else is naturally vegetarian. This is how I serve it to my vegetarian sister. She loves it.
Keto-Friendly
Use almond flour instead of all-purpose flour for the roux. This keeps the carb count very low. I’ve used this version for my keto friends, and it works great.
Gluten-Free
Use a gluten-free flour blend for the roux, or stick with almond flour. Everything else is naturally gluten-free. I’ve used Bob’s Red Mill gluten-free flour, and it works well.
Dairy-Free
Replace butter with olive oil, heavy cream with coconut cream, and cheddar with a dairy-free cheese alternative. It’s different but still tasty. My lactose-intolerant friend requests this version. It’s not as rich, but it works.
Serving & Storage
I usually serve this straight from the baking dish at the dinner table—it looks rustic and stays warm. But here are other ways I’ve enjoyed it:
Side Dishes:
I serve this with roasted chicken, grilled steak, or even a simple green salad. It pairs well with anything savory. I also love it with crispy garlic chicken for a complete low-carb meal.
Toppings Bar:
When I have guests, I put out: extra cheddar, bacon bits, chopped chives, and hot sauce. Everyone customizes their bowl.
Wine Pairing:
Not a wine expert, but my wine-snob friend says a full-bodied Chardonnay or a light Pinot Noir works great with this. The acidity cuts through the richness.
Storage:
Store in an airtight container in the fridge for up to 4 days. The sauce will thicken in the fridge—totally normal.
Reheating:
Best method: Add to a skillet with a splash of milk or cream over low heat. Stir until heated through and creamy again. Microwave method: Heat in 30-second intervals, stirring between. Add a splash of milk if it’s too thick. Never works: Trying to reheat in the pot you cooked it in. It always burns on the bottom. Ask me how I know.
Freezing:
Honestly, this doesn’t freeze well because of the dairy. The sauce separates when thawed. Make it fresh or store in the fridge for up to 4 days.
Nutrition Information
I’m not a nutritionist, but here’s the breakdown if you’re tracking.
Per Serving (based on 6 servings):
– Calories: 320
– Protein: 18g
– Carbs: 8g (2g fiber, 6g net carbs)
– Fat: 24g
– Sodium: 450mg
What’s Good:
– High protein from cheese
– Low carb count
– Rich in calcium
– Can add vegetables to boost nutrition
What to Know:
– Higher in calories from cheese and cream
– Contains dairy
– Moderate sodium (use low-sodium broth to reduce)
My Take:
Look, this is comfort food with cheese and cream. It’s not a diet recipe. But it’s way better than takeout, costs less, and I know exactly what’s in it. When I want to make it lighter, I use less cheese and more cauliflower. But usually? I just eat a reasonable portion and enjoy it.
Final Thoughts
So that’s my go-to Low-Carb Cauliflower Mac and Cheese! I’ve probably talked your ear off at this point, but when you make a recipe this often, you have a lot to say about it.
This has saved weeknight dinners more times than I can count. It’s my answer to “what’s for dinner” when I’m tired, don’t want takeout, and still want something that tastes really good. My kids are happy, my husband’s happy, and I’m happy because I’m not stressed about cooking.
Make it yours! Try different add-ins, swap in your favorite vegetables, adjust the cheese (though more is always better in my opinion). The best recipes are the ones you adapt to your family’s tastes.
If you make this, drop a comment and let me know what you think! I love hearing how recipes turn out in your kitchen. And if something doesn’t work, tell me that too—I’m here to help troubleshoot.
Happy cooking! And I hope your kitchen smells half as good as mine does right now.
Frequently Asked Questions
Q: Can I use milk instead of heavy cream?
A: You can, but the sauce will be much thinner and less rich. If you want to try it, use whole milk (not skim) and add 2 tablespoons of flour to thicken it. Whisk the flour into the milk before adding to the pan. I’ve done this when I ran out of cream—it works okay, just not as good as the real thing. Half-and-half is a better middle ground.
Q: My sauce came out watery—what happened?
A: Usually means you didn’t let it simmer long enough to thicken, or you added too much liquid. Let the cream mixture simmer for a full 3-4 minutes before adding cheese. If it’s already watery, turn up the heat and let it reduce for another few minutes. The cheese will also thicken it up.
Q: Can I make this ahead for a dinner party?
A: Sort of. Make the sauce up to 2 days ahead and store in the fridge. Roast the cauliflower fresh right before serving (takes 25 minutes). Combine and bake as directed. It won’t be quite as good as fresh, but it’s close and saves you stress during the party. I do this all the time.
Q: Why did my sauce get grainy/lumpy?
A: The heat was too high when you added the cheese, which made it seize up. Cheese needs gentle heat. Always remove the pan from the burner before adding cheese, then stir it in off heat. If it’s already grainy, try whisking in a splash of warm cream—sometimes you can save it.
Q: Can I use jarred cauliflower rice?
A: You can, but fresh cauliflower tastes so much better in this recipe. Jarred cauliflower has a weird metallic taste that really shows up in cream sauces. If you must use it, rinse it well to remove excess moisture. But honestly, cutting a head of cauliflower takes like 10 minutes. Buy pre-cut cauliflower if you want to save time.
Q: How do I reheat leftovers without it getting dry?
A: Add a splash of milk or cream to a skillet, add your leftover cauliflower, and heat gently over low heat, stirring frequently. The extra liquid brings back the creamy texture. Microwave sort of works but tends to dry it out. If you do microwave, definitely add a splash of milk first and heat in short bursts, stirring between.
Q: Can I double this recipe?
A: Absolutely! Double everything and use your biggest pot. The cooking times stay the same. I do this when I’m meal-prepping or feeding a crowd. Just make sure your baking dish is big enough for the sauce—you might need to use two pans or a very large dish.
Pin This Recipe!
Low-Carb Cauliflower Mac and Cheese: The Best Indulgent Recipe
- Total Time: 45 minutes
- Yield: 6 servings 1x
Description
A creamy, indulgent low-carb cauliflower mac and cheese that uses a roux-based cheese sauce and roasted florets for a rich, restaurant-quality side dish perfect for keto and gluten-free diets.
Ingredients
- 1 large head of cauliflower (about 2–2.5 pounds / 900g-1.1kg), cut into bite-sized florets
- 2 tablespoons unsalted butter (for cauliflower)
- 1 teaspoon garlic powder
- 1 teaspoon sea salt (for cauliflower)
- Black pepper to taste
- 2 tablespoons unsalted butter (for roux)
- 2 tablespoons all-purpose flour (or almond flour for keto)
- 1 cup low-sodium chicken broth (or vegetable broth for vegetarian)
- 1 cup heavy cream (full-fat)
- 2 cups freshly grated sharp cheddar cheese (about 200g)
- 1 teaspoon Dijon mustard
- 1/2 teaspoon smoked paprika
- Optional: 1/2 cup cooked bacon bits
- Optional: 1/4 cup fried onions
Instructions
- Preheat oven to 400°F (200°C). Toss cauliflower florets with melted butter, garlic powder, salt, and pepper on a large baking sheet. Spread in a single layer.
- Roast cauliflower for 20-25 minutes, flipping halfway, until edges are golden brown and crispy. Remove and set aside.
- In a large skillet over medium heat, melt 2 tablespoons of butter. Whisk in flour and cook for 1-2 minutes until light golden to create a roux.
- Slowly whisk in chicken broth, then heavy cream. Simmer for 3-4 minutes until sauce thickens and coats the back of a spoon.
- Remove skillet from heat. Stir in Dijon mustard and smoked paprika. Gradually add grated cheddar cheese, stirring until melted and smooth.
- Transfer roasted cauliflower to a 9×13 inch baking dish. Pour cheese sauce over cauliflower, coating all florets. Add optional toppings like bacon.
- Bake at 375°F (190°C) for 15 minutes until bubbly and golden brown. Let rest for 5 minutes before serving.
Notes
Roast the cauliflower instead of boiling to concentrate flavor and prevent sogginess. Always grate your own cheese to avoid anti-caking agents that cause graininess. Remove the pan from heat before adding cheese to prevent seizing. Let the dish rest for 5 minutes after baking to allow the sauce to set.
- Prep Time: 10 minutes
- Cook Time: 35 minutes
- Category: Side Dish
- Cuisine: American
Nutrition
- Serving Size: 1 serving (approx. 1
- Calories: 320
- Sugar: 3
- Sodium: 450
- Fat: 24
- Saturated Fat: 15
- Carbohydrates: 8
- Fiber: 2
- Protein: 18
Keywords: low-carb, keto, cauliflower mac and cheese, gluten-free, comfort food, cheese sauce, roasted cauliflower


