Buffalo Cauliflower
Published September 23, 2021 • Updated July 20, 2026
This post may contain affiliate links. See my disclosure policy.
Crispy air fryer buffalo cauliflower bites coated in buttery hot sauce and lupin meal. I think these taste better than wings, and they only take about 15 minutes.
I started making these as a game day snack, and now they show up at every gathering. The whole idea is simple: toss cauliflower florets in melted butter and buffalo sauce, roll them in lupin meal, then air fry or bake until the outside gets that crackling crunch. The lupin meal is what makes these different from every other version out there. It acts like cornmeal (similar gritty texture) but with a fraction of the carbs.
I’ve made these both ways dozens of times. The air fryer version wins on texture every single time. The circulating heat hits the florets from every angle, and you get an even, crispy shell all the way around in about 12-15 minutes. The oven works too (I use a wire rack so air flows underneath), but the air fryer is faster and crunchier. One of my readers, Cristina, tested both methods side by side and said the same thing.
A few things I’ve learned after making these so many times. First, use fresh cauliflower, not frozen. Frozen florets release too much water as they thaw, and your coating turns soggy no matter what you do. I buy the precut bags from the grocery store because they save time and I skip the mess of breaking down a whole head. Second, don’t overcrowd your air fryer basket. I do two batches when I’m feeding more than two people. The florets need space or they steam instead of crisp.
One thing I love about this recipe is how readers keep finding new spins on it. Melissa tried crushed pork rinds instead of lupin meal and got an even crunchier snap. Dina mixed garlic powder into the lupin meal and said it changed the whole coating. I’ve tried both, and they work. The pork rind version is crunchier but less subtle. The garlic powder addition is something I do every time now.
These work as a keto appetizer, a side dish, or just a snack when I’m watching something on the couch. I’ve served them alongside my jalapeno popper dip and keto nachos for a full spread, and nobody has ever guessed anything on the table was low carb. They just eat them. The buffalo sauce and butter combo gives them that rich, spicy flavor, and the lupin meal coating holds up even after sitting out for a while.
Explore hundreds of keto recipe videos with step-by-step instructions, tips, and tricks to make keto easy.
Ingredients
10 oz cauliflower florets
1/4 cup butter, melted
3/4 cup buffalo sauce
1/2 cup lupin meal
Step by Step Instructions
Step by Step Instructions
Coat cauliflower with buttery buffalo sauce
Add cauliflower florets to a large bowl. Add melted butter and buffalo sauce. Stir until all cauliflower florets are evenly coated.
Roll in lupin meal
Add lupin meal to a small plate or bowl. Roll each cauliflower floret in lupin meal to coat. Place on baking tray or air fryer basket.
Air fryer instructions
Air fry at 375 degrees for 12-15 minutes.
Oven instructions
Add buffalo cauliflower florets on a wire rack placed over a foil lined baking tray. Bake at 400 degrees for 12-15 minutes or until starting to turn golden brown.
Drizzle more buffalo sauce
Drizzle a little more buffalo sauce over cauliflower bites. Dip in ranch dressing or blue cheese dressing.
Nutrition disclaimer
The nutrition information provided is an estimate and is for informational purposes only. I am a Doctor of Pharmacy (Pharm.D.); however, this content is not intended to be a substitute for professional medical advice, diagnosis, or treatment. Always consult your physician or other qualified health provider before making any lifestyle changes or beginning a new nutrition program.
Your Macros. Your Recipes. Calculated in 60 Seconds.
Get personalized keto macros and instantly see which recipes fit your targets. No more guessing what to eat.
Get My Macros + Recipes →Frequently Asked Questions
Can I freeze these after cooking?
I've frozen these after cooking and they reheat okay, but the coating loses some of its crunch. What I do is spread them on a baking sheet in a single layer, freeze for an hour, then transfer to a freezer bag. When I reheat, I put them back in the air fryer at 375 for 5-6 minutes. They won't be quite as crispy as fresh, but they're still good. I wouldn't freeze them longer than a month.
Why isn't the coating crispy?
I've had this happen and it usually comes down to one of three things. Too much sauce on the florets before rolling in lupin meal (I shake off the excess), overcrowding the air fryer basket so the pieces steam instead of fry, or using frozen cauliflower that releases water as it cooks. I fix it by working in smaller batches and making sure every floret has space around it in the basket.
Can I use frozen cauliflower instead of fresh?
I've tried it and I don't recommend it. Frozen cauliflower holds a lot of moisture, and as it thaws during cooking, that water gets into the lupin meal coating and turns it soft. If frozen is all you have, thaw the florets first, then pat them dry with paper towels before tossing in sauce. It's extra work and you still won't get the same crunch as fresh.
What's the best temperature for baking these in the oven?
I bake mine at 400 degrees on a wire rack and they come out great. I've tested 375 and 425 too. At 375 they take too long and the coating doesn't get as crispy. At 425 the outside can burn before the inside softens. 400 is the sweet spot for me, about 12-15 minutes until you see the edges turning golden brown.
Can I use pork rinds instead of lupin meal?
My reader Melissa tried this and said each bite had a satisfying snap to it. I've done it myself since then, and she's right. I crush the pork rinds in a zip-lock bag with a rolling pin until they're fine but not powdery. The coating comes out crunchier and more savory than lupin meal. The one difference I notice is that pork rinds add their own salty flavor, so I cut back on any extra salt.
What can I substitute for lupin meal?
I've tested both almond flour and coconut flour as backups. Almond flour gives you a finer, less crunchy coating. It works but it's a different texture. Coconut flour absorbs more moisture, so you need less of it or the coating gets thick and pasty. Neither one gives you the same cornmeal-like crunch that lupin meal does. If I'm out of lupin meal, I go with almond flour.
What spices can I add to the coating?
My reader Dina added garlic powder to the lupin meal and said it completely changed the flavor. I've been doing it ever since. I mix about half a teaspoon of garlic powder into the lupin meal before rolling the florets. It adds this savory layer underneath the buffalo sauce that I didn't know I was missing. I've also tried onion powder and smoked paprika. Garlic powder is my favorite addition.
How do I get the coating to stick without falling off?
I had the same problem early on. The fix is shaking off the excess sauce before rolling in lupin meal. If the florets are dripping wet, the coating turns into paste instead of a dry crust. I shake each one, then use a fork to roll it in the lupin meal and transfer it to the basket. Tipping the bowl is a death sentence for the coating. I also make sure the florets are dry before they go into the sauce, because any residual water from washing them dilutes the sauce and weakens the grip.



Butter's doing actual work here. Holds the hot sauce on so the lupin meal sticks through the whole air fry. Egg-washed versions never managed that. First buffalo cauliflower I've eaten with coating still on it.
Was adding the cauliflower first and pouring sauce over, which left a lot of florets barely coated. Mix the butter and buffalo sauce in the bowl first, then toss the florets in. Lupin meal sticks way more evenly that way, no dry patches or soft spots. Obvious in hindsight.
Good catch, Jennifer. That sauce-first bowl method is what I should have written into the recipe, because when the coating bonds to evenly sauced florets instead of patchy wet ones, you get crust instead of paste.
Three years of rejected vegetables at our house, and then this. Fifteen minutes in the air fryer. My son cleaned the bowl and asked what was in the coating, not trying to avoid it. He wanted more.
Asking what's in it because he wants more, not to dodge it. Three years and then a clean bowl. I'd make double next time, Camila.
I've been making these as a weeknight snack and they've earned a permanent spot in the rotation. Birthday dinner for about 16 people next weekend, and I'm planning to serve these as the starter. At four batches, does the lupin meal to buffalo sauce ratio hold up, or do the proportions need adjusting? Some coatings go thin when you just multiply straight across, in my experience. The air fryer timing is my bigger concern. Better to pre-coat all the cauliflower and hold it while you cook in batches, or does sitting that long soften the coating before it hits heat? I'd assume 375 for 12-15 minutes still applies since each basket load is the same size, but wanted to confirm. And how far in advance can you coat them without losing the crust?
The ratio holds straight across, batch for batch. I wouldn't pre-coat and hold. The lupin meal starts pulling moisture from the sauce within 10-15 minutes and you lose the crunch before it even hits the fryer. I'd have everything cut and the sauce mixed ahead of time, then coat each batch as the previous one comes out. You're right on the temp and timing, 375 for 12-15 holds because each basket load is the same size regardless of total quantity.
Four stars but that's on me, not the recipe. Made these twice and couldn't get them crispy until I patted the florets completely dry before the butter and buffalo sauce step, the lupin coating kept sliding off on wet cauliflower and I had no idea why. One layer in the basket, nothing stacking, 13 minutes and the crunch was finally there. Making a big batch this week for pool day, last thing I want running in this heat is my oven.
Same with drying, learned that the hard way after a whole batch turned to mush.
Buffalo wings were the one thing I missed when I went keto two years ago. The lupin meal coating gives these an actual crunch (not the sad oven-baked version I'd been settling for), and at 1g net carbs I don't have to think twice about it.
The oven just doesn't work the same way. Lupin meal needs that circulating heat or it steams instead of crisping.
Made this at least six times now, but mixing garlic powder into the lupin meal before rolling just took it somewhere completely different. The coating gets more savory and stays crispier longer. Not going back to the plain version.
My reader Dina figured this out before I did and tipped me off. I've been doing it ever since. Half a teaspoon mixed in before rolling. The crispier-longer thing is real.
Never used lupin meal before and had no clue what to expect. Thirteen minutes and the crunch is genuinely unreal. Been trying to eat more cauliflower and this is it. Can you swap almond flour if lupin meal isn't available, or does it totally change the coating?
Works but you lose that crackle. Finer coating, more like thin breading. Coconut flour is closer to lupin meal's texture if you can find it, just use about half.
Ran out of lupin meal halfway through and padded the rest with almond flour just to finish the batch. Mixed coating came out crunchier than straight lupin meal. Something about how almond flour browns in the air fryer. 13 minutes at 375 is my number, and I'm doing the half-and-half on purpose from now on.
Almond flour has way more fat so it browns faster in the air fryer. Makes sense the mix would get crunchier than straight lupin. Trying that ratio next batch.
I rolled my eyes at 'these taste better than wings' and made them anyway. The lupin meal coating crisps up in a way I wasn't expecting, and the air fryer batch was gone before I'd planned to stop eating. 4 stars, not wings, but freaking close.
Ha, fair. I'll take 4 stars from a skeptic. Still think I'm right about the wings thing.
Finally went the full 15 minutes instead of pulling at 12. Lupin coating sets up way more solid that way, doesn't fall apart when you dip. Wish I'd figured that out on batch one.
Lupin stays soft until the very end, then it firms up fast. That last couple minutes matter.
The coating stays crispy out of the fryer, which honestly surprised me with cauliflower. I'd go lighter on the initial butter and sauce toss next time (mine got a little wet before the lupin meal had a chance to stick), but once I figured that out, the bites came out exactly right.
That's the ratio. Once you get it dialed in it comes out right every time.
Made these last night and the lupin meal kept sliding right off when I was rolling the florets (I'd never used lupin meal before, had to look it up). Is there a trick to getting it to stick better or did I just need more sauce coating them first?
Actually the opposite, you want less sauce on them, not more. If they're dripping wet, the lupin meal pastes instead of coats. Shake each floret before you roll it in the meal.
These reminded me of the buffalo bites my mom used to order at this sports bar we'd go to after my soccer games as a kid. I'd never worked with lupin meal before and was a little skeptical, but the air fryer got them crispy in about 13 minutes. Didn't expect cauliflower to bring back that kind of memory.
Lupin meal. Nobody trusts it the first time. But 13 minutes in the air fryer and those crispy edges do all the convincing. Love that cauliflower pulled back a memory like that.
I batch these on Sundays and reheat at 375 for 3-4 minutes. Lupin meal coating holds up overnight, unlike basically every other sauced appetizer I've tried.
375 for 3 minutes is my number too. Higher and the coating chars before the inside warms through.