What sets these keto sloppy joes apart is the tangy, slightly sweet, sugar-free sauce, just 4.7g net carbs and 20.6g protein. The whole skillet is on the table in under 30 minutes, and they're in my rotation at least twice a month.
This is the ground beef skillet dinner I come back to more than any other. It's messy, which is kind of the point. The whole thing comes together in one pan in about 25 minutes, and the sauce actually tastes like the original, not like tomato paste with ground beef floating in it. I've made this weekly for years and it's still the dinner my kids request most.
The sauce is the whole recipe, really. I spent way too long getting the ratio right. Too much tomato puree and it goes flat. Too much sugar-free ketchup and it turns sharp. Two tablespoons of ketchup to half a cup of puree ended up being the number, and a small hit of monkfruit sweetener ties it together without adding any carbs. You won't taste the sweetener directly, but leave it out and something is off.
The flavor hits that sweet spot between tangy and savory that makes the original so good. I use hot sauce instead of Worcestershire (which most classic recipes call for) because a tiny amount of heat cuts through the sweetness better. It's not enough to make this spicy, just brighter.
The meat stays slightly pink before the sauce goes in. That's on purpose. If you brown the beef all the way through first, it dries out during the simmer and you end up with crumbly, dry meat in a watery sauce. Cook it just until the pink starts to fade, then add everything else and let that 8-minute simmer do the work. I learned this the hard way after a few batches came out grainy.
Ground turkey works here too. One of my readers, Tamika, swapped it in and the sauce still came together thick. Ground pork is another option if you want more richness. I'd just let either one simmer a couple minutes longer since there's less fat to carry the sauce along.
I usually serve these piled on my homemade buns, but chaffles give you something crispier underneath, and lettuce wraps keep the carbs even lower. I've also scooped the filling over cauliflower rice for a bowl-style dinner. My kids dip pork rinds straight into the skillet, which works better than it sounds.
I can have this on the table in under 30 minutes, including making buns from scratch if I want them.
The meat filling freezes well, so I often double the batch and stash half for later. Reheats perfectly for lunch the next day. Just add a splash of water to loosen the sauce back up.
At 4.7g net carbs per serving (without the bun), this fits comfortably into even a strict 20g day. One of my readers, Nathan, has lost over 100 pounds staying under 25g daily and this is one of his regulars.
I usually pair it with a big green salad or roasted Brussels sprouts. On weekends I’ll do a full spread with keto cheeseburger soup on the side.
Pick your bun (or skip it)
I make my own buns for these. They take less than 30 minutes and they’re actually fluffy, not that dense mozzarella bread texture you get with a lot of keto bread. If you miss real buns, making them from scratch is worth the effort.
If you’d rather buy buns, Franz keto buns are solid. Only 1g net carb per bun, though they do contain gluten.
Chaffles work great here too, especially if you want some crunch against the saucy filling. I make a basic cheddar chaffle, let it crisp for an extra 30 seconds, and load it up. And on days I’m keeping carbs tight, I just do lettuce wraps or skip the bun entirely and eat the filling with a fork.
The sugar-free ketchup that makes this work
Use sugar-free ketchup here. Regular ketchup is loaded with sugar or corn syrup, which would blow the carb count for no reason.
Most grocery stores carry it now. I use Primal Kitchen Unsweetened Ketchup, which has no added sugar and just 1g carb per tablespoon. I’ve tried a few low-carb brands and this one has the cleanest tomato flavor without that artificial sweetener aftertaste.
Don't fully brown the beef
This is the one thing I see people get wrong. If you cook the ground beef until it’s fully browned and crumbly before adding the sauce, it dries out during the simmer. You want the meat just barely past pink when the sauce ingredients go in.
The beef finishes cooking in the sauce over those 8 minutes, which is how it stays tender and absorbs all that flavor. I learned this after a few batches that came out grainy and dry.
Slow cooker version
I’ve made the slow cooker version a handful of times, usually when I want dinner ready the second I walk in. Brown the beef first (or use pre-cooked if you meal prep your protein), then add all the remaining sauce ingredients to the slow cooker.
Cook on LOW for 4-6 hours or HIGH for 2-3 hours. The slow cooker version has a softer, more melded texture compared to the skillet, where the sauce stays a little chunkier. Both are good, just different.
Ways to customize the sauce
I’ve kept the base sauce simple on purpose, but there’s room to play with it. Some things I’ve tried that work well:
A splash of Worcestershire sauce (adds depth, and most classic recipes include it)
Yellow mustard, about a teaspoon (gives it tang)
Diced bell pepper sauteed with the onion
Extra garlic powder or onion powder
A hit of red wine vinegar at the end
For a cheesy version, pile shredded cheddar on top and run it under the broiler for 2-3 minutes until it’s bubbling. My kids prefer it this way.
Heat oil in a large skillet over medium-high heat.
2
Cook the onions
Add onion and salt. Cook until onions have softened (about 5 minutes).
3
Cook the ground beef
Add ground beef and cook for about 1-2 minutes or until just pink.
4
Stir in the rest
Stir in garlic, pepper, chili powder, monkfruit, unsweetened ketchup, tomato puree, water and hot sauce.
5
Simmer down
Simmer for about 8 minutes or until the sloppy joe sauce has slightly thickened.
6
Add to buns and enjoy
Pour on top of a keto hamburger bun.
Nutrition
Per serving: 1/4 of recipe
Calories
380
Fat
29.6g
Protein
20.6g
Total carbs
6.4g
Net carbs
4.7g
Nutrition is an estimate calculated from the ingredients listed. Brands vary, so check labels if you track closely.
Frequently Asked Questions
Can I use ground turkey instead of beef?
I've tested it both ways and the sauce carries the flavor regardless of the protein. Ground turkey works, ground pork works, even a mix. The one thing I'd adjust is the simmer time. Turkey releases less fat, so the sauce takes a minute or two longer to thicken. I usually give it an extra 2-3 minutes on the stove and it comes together just fine.
Can I serve this on a chaffle?
I've done this a few times and it's a solid option. The crunch of the chaffle holds up against the saucy filling better than a soft bun does. I make a basic cheddar chaffle (just egg and cheese), let it crisp for an extra 30 seconds, and load it up. The contrast between crispy waffle and warm filling is worth the extra step.
What sugar-free ketchup works best for the sauce?
I use Primal Kitchen Unsweetened Ketchup. It has no added sugar and just 1g carb per tablespoon. I've tried a few other brands and some have an artificial sweetener taste that throws off the sauce balance. Primal Kitchen has the cleanest tomato flavor, which matters here since the ketchup-to-puree ratio is doing most of the work.
Can I make the filling ahead of time?
This is one of my favorite things about the recipe. I double the batch almost every time and freeze half. The meat filling freezes well for up to a month. When I reheat it, I add a splash of water and let it simmer for a few minutes to get the sauce consistency back. Works perfectly for meal prep lunches.
What sides go well with this?
My usual rotation is a big green salad or roasted Brussels sprouts on weeknights. On weekends I'll pair it with keto shepherd's pie leftovers or a bowl of keto spaghetti if I'm feeding a crowd. Pork rinds on the side work too if you want something to scoop the filling with instead of a bun.
Does the monkfruit sweetener really matter?
I thought it was optional until I made a batch without it. Something was just off. The sauce leaned too acidic without that small touch of sweetness to balance the tomato and vinegar notes. It's only half a teaspoon and adds zero carbs, so I keep it in. One of my readers, Tara, tested multiple competing recipes and specifically called out the monkfruit as what makes this version taste like the real thing.
How many net carbs per serving?
The filling comes in at 4.7g net carbs per serving. That's without any bun, so add whatever your bun choice runs. My homemade buns add about 2g, Franz keto buns add 1g, and a lettuce wrap adds basically nothing. I keep my daily carbs around 20g and this fits comfortably into a full day of eating.
New to keto and doing my first real meal prep this Sunday, so I want a batch of these for lunches. If I simmer the sauce the full 8 minutes and then fridge it, does it go watery when I reheat or is it fine?
Allulose should work fine here. It’s a bit less sweet than the monk fruit blend, so I’d use a full teaspoon instead of the half, and the tang mostly comes from the tomato and sugar-free ketchup anyway. I haven’t tested that swap myself, so let me know how it turns out Sunday.
Making these Saturday for a pool day and I have a pound of ground turkey to use up. Anyone tried it with turkey? I’m wondering if the tomato puree keeps it saucy enough or if I need to add a splash more water since turkey dries out so fast.
Wasn’t sure this would taste anything like what I grew up eating on white bread. It does. The tangy-sweet sauce is exactly right, just without the corn syrup that was definitely in the original. Didn’t expect to feel something making a 30-minute skillet meal.
Nostalgia is a hard bar to clear. I grew up eating this on white bread too and every keto version I tried tasted like it was apologizing for itself, so I kept working the sauce until it didn’t.
Served this over shredded romaine instead of bothering with keto buns since it’s been SO hot, and the tangy sauce soaking into the lettuce was genuinely better than I expected. Already making it this way every time.
The sauce soaks into romaine in a way it doesn’t with a bun. Something about the texture holds it differently. I’ve been doing this all summer when it’s hot and I don’t want to deal with buns. The only thing I’d add is a little shredded cabbage mixed in with the romaine if you want more crunch. Two lettuces sounds weird. Try it once.
The sauce on these is genuinely good, which surprised me because I went in a little skeptical. I’ve only been eating keto for about four months and most of the recipes I tried before this had a sauce that tasted watered down or flat. This one is tangy with that slight sweetness that doesn’t taste fake. The only thing that tripped me up was the monk fruit. It says optional, but I didn’t know where to start and used the full half teaspoon. Came out too sweet. Next time I’ll try a pinch and go from there. The 8-minute simmer is real though, I tried to rush it and the sauce stayed thin. Worth waiting out.
Been making a double batch every Sunday for the past month, and the thing I didn’t expect is how much better the sauce gets after a night in the fridge. The flavors pull together and I keep sneaking tastes straight from the container before it even makes it to lunch. I pull the ground beef just slightly under since it finishes during reheat. Day two is noticeably better. Four lunches locked in for the week, under 5g net carbs each.
Sloppy joes were what I thought I’d said goodbye to forever when I went keto. My mom made them every other week growing up and I just assumed, well, that was that. Made these Tuesday and the sauce genuinely stopped me (tangy, a little sweet, nothing artificial). Just relieved I get to keep this one. Served mine in a lettuce wrap which was fine, but I’m hunting for a decent low-carb bun because this sauce deserves better than lettuce.
Used ground turkey instead of beef because that’s all I had, and the sauce still came together thick and flavorful after the simmer. The chili powder and tomato puree carry it more than I expected. Might actually stick with turkey.
The beef here is pretty mild to begin with (the chili powder ratio and puree are the whole flavor). Turkey makes sense. Just lean a little longer on the simmer since there’s less fat to help the sauce along.
Hello Annie,
Just wanted to say, subscribed to Ketofocus youtube channel and enjoy the recipes. By now I am sure all know that there are many brands of 0 carb keto breads and buns on the grocery shelves. Healthy life by Lewis bakery and others I use. I have also made them from Carb quick, Carbalose flour and the Victoria’s kitchen flour blend using the bamboo fiber. One has to watch because doing all this baking from scratch using these ingredients can sometimes be costly! But it does help with weight loss. I am carb sensitive and if I go over 25 carbs I am out of ketosis. I try to keep between 10-15 a day. From 357 to 250 currently and dropping!
107 pounds down. This filling only runs 4.7g net carbs, so whatever bun you grab you’re still well inside 25. Lettuce wrap if you’re keeping it tight that day.