Comfort food without the carbs. This cheesy baked keto spaghetti layers seasoned beef, marinara, and two cheeses over hearts of palm noodles that hold their shape when sliced. 5.4g net carbs, 32.2g protein. I double it since it freezes perfectly.
I make this keto spaghetti casserole almost every other week, and I always make two. One for dinner, one for the freezer. On nights when I don’t feel like cooking (more often than I’d like to admit), I pull one out and it reheats like it was just made. I’ve tested freezing both before and after baking, and baking first gives better results. The hearts of palm noodles hold their texture and the cheese layer stays intact.
The base is simple: seasoned ground beef simmered in low-carb marinara, layered over hearts of palm noodles that I toss with egg, parmesan, and melted butter. That egg-and-cheese coating is what gives the noodle layer structure so it doesn’t turn into mush. It holds together when you slice it, almost like a real baked spaghetti from a diner.
I chose hearts of palm noodles because they’re the only keto noodle I’ve tested that holds up through a 30-minute bake without going soft. The texture is the closest I’ve gotten to actual pasta in a casserole.
I use a standard 9×13 casserole dish and get about 8 generous servings. For a half batch, an 8x8 dish is what I reach for. The whole thing goes together in about 20 minutes of active work, and then the oven handles the rest. After 25-30 minutes at 350, the mozzarella gets bubbly and golden around the edges and the meat sauce underneath is thick and rich. My kids eat this without a single complaint. They think it’s just spaghetti night.
If you love my keto lasagna but want something faster, this is it. Same comfort food energy, half the assembly time. I’ve also started making a million dollar version with cream cheese and sour cream layered between the noodles and meat sauce. My husband liked it even more than the original, so now I make it that way about half the time.
If you’re building a rotation of freezer meals, pair this with my baked ziti and enchilada lasagna casserole. Three casseroles in a Sunday afternoon and you’re set for two weeks. I’ve also served it alongside chicken parmesan when I want a bigger spread.
One reader, Leslie, told me her packages of hearts of palm linguine were 12 oz instead of 9, and it still turned out great. So don’t stress about exact noodle measurements here.
Why This Low Carb Spaghetti Casserole Is on Repeat
This is the casserole I reach for when I want comfort food that doesn’t take all afternoon. The seasoned beef simmers in low-carb marinara while I prep the noodle layer, and once it’s assembled it goes straight into the oven. The mozzarella gets bubbly and golden on top while the meat sauce underneath stays thick and rich.
It’s gluten-free and grain-free, so everyone eats the same dinner. I don’t have to make a separate plate for anyone, which on a weeknight is everything.
Reader Fatima has made this four times now and confirmed what I’ve always found: browning the beef until the edges crisp before adding the marinara makes the sauce cling differently and the casserole holds its shape better when you slice it. I do this every time.
I keep the filling straightforward: ground beef, cheese, and sauce. I brown the beef over medium-high heat, then stir in Italian seasoning and garlic powder. If you don’t have Italian seasoning on hand, a mix of dried basil and oregano does the job.
Don’t skip the garlic powder. I actually prefer roasting a whole bulb of garlic until it’s caramelized and sticky, then stirring that into the beef. It gives the sauce a deeper, sweeter garlic flavor that I think makes this casserole stand out. It’s an extra step but I do it every time now.
Sometimes I toss in a small handful of diced onions too. They are optional, but even that little bit adds good background flavor to the beef.
You can also swap in ground turkey, Italian sausage, or even leftover chicken. I’ve tried all three and the turkey version is what I reach for when I want something a little lighter. If you like Tuscan chicken pasta, the chicken swap will feel familiar.
Which Low Carb Noodles Work Best
I’ve tested this casserole with every low-carb noodle I could find: hearts of palm, zucchini noodles, spaghetti squash, and shirataki. Each one gives a slightly different result.
I used hearts of palm noodles here because they hold their shape the best after baking. They don’t get soggy like zucchini noodles can, and they don’t have the rubbery texture or smell of shirataki. Plus they’re naturally gluten-free.
If you go with zucchini noodles, pat them dry with paper towels first. I mean really press them. Sometimes I salt them and let them sit for 10 minutes to draw out moisture, then blot dry. That extra step took my casserole from soupy to sliceable. They release a lot of water during baking, and if you skip this step your casserole ends up soupy instead of sliceable. I use the same technique in my keto zucchini lasagna.
Shirataki noodles have almost zero carbs, which is a big plus. I rinse them under hot water for a full minute, then dry them in a hot skillet before adding to the casserole. That gets rid of the packaging smell completely. Spaghetti squash is another option I’ve used, though it gives the dish a softer, less pasta-like texture.
Choosing a Low Carb Pasta Sauce
The pasta sauce can make or break your carb count here. I stick with Rao’s or Yo Mama’s Marinara because both are low in sugar and taste like actual marinara, not ketchup. Always check the label because some brands sneak in 8-10g of sugar per serving.
If you can’t find either brand, plain tomato sauce works. I add my own Italian seasoning and a pinch of garlic powder to it, and it’s close enough.
I also stir in a spoonful of sour cream sometimes. It adds a subtle creaminess to the sauce that makes people ask what my secret ingredient is. If you like that idea, my mom’s keto spaghetti recipe uses a similar trick.
How to Freeze and Reheat This Casserole
This casserole is one of the best keto freezer meals I’ve made. I assemble the whole thing, bake it, let it cool completely, then wrap it tight in foil and freeze. It keeps for up to 3 months. Freezing it unbaked works in a pinch, but the hearts of palm noodles can get a little mushy, so I always bake first.
To reheat from frozen, I bake at 350 degrees for 45-50 minutes with the foil on, then remove the foil for the last 10 minutes to crisp up the cheese. If I remember to thaw it overnight in the fridge, I reheat at 350 for about 20 minutes. Individual portions go in the microwave for 3-4 minutes.
I’ve started freezing individual portions in glass containers too. It’s faster to reheat a single serving than a whole casserole, and my husband grabs one for lunch when he’s working from home. If you’re into meal prep, check out my cheesesteak casserole for another one that freezes just as well.
Preheat oven to 350 degrees. Coat a large casserole dish with cooking spray.
2
Brown ground beef
Cook ground beef in a large skillet over medium high heat until browned. Add Italian seasoning, salt and garlic powder. Stir to combine.
3
Add low-carb marinara sauce
Stir in marinara sauce and reduce heat to medium. Continue cooking while preparing the noodles.
4
Sauce the noodles
Add hearts of palm noodles to a medium bowl. Add in eggs, parmesan cheese and melted butter. Stir to coat the noodles.
5
Assemble the casserole with noodles
Lay the coated noodles onto the bottom of the casserole dish.
6
Assemble the casserole with meaty red sauce
Scoop the meat sauce on top of the noodles to cover completely. Top with shredded mozzarella cheese.
7
Bake it
Bake at 350 degrees for 25 to 30 minutes or until cheese is bubbly and starts to turn golden.
To bake from frozen, bake at 350 degrees for 40-50 minutes.
Nutrition
Per serving: 1/8 of recipe
Calories
504
Fat
37g
Protein
32.2g
Total carbs
8.4g
Net carbs
5.4g
Nutrition is an estimate calculated from the ingredients listed. Brands vary, so check labels if you track closely.
Frequently Asked Questions
Can I substitute the ground beef with another protein?
I've made this with ground turkey, Italian sausage, and shredded chicken. Ground turkey is my go-to swap because it absorbs the Italian seasoning really well and keeps the casserole lighter. Italian sausage adds more flavor on its own so I skip the extra garlic powder when I use it. Chicken works but I find it dries out a bit, so I add an extra splash of marinara.
How much cream cheese and sour cream go in the million dollar version?
4 oz of softened cream cheese whisked together with a quarter cup of sour cream. I spread that mixture over the coated noodle base before adding the meat sauce, then bake as written with no other changes.
How long do leftovers keep in the fridge?
Up to 4 days with no issues. I make it on Sunday, portion it into glass containers, and my husband and I eat it for lunches through Wednesday. It reheats well in the microwave and the flavors actually get better after a day in the fridge.
Can I make this dairy-free?
I've tested it with dairy-free mozzarella and parmesan from Violife, and the texture was close. The key is finding a brand that actually melts, because some plant-based cheeses just sit there and never get gooey. I'd also skip the butter in the noodle coating and use olive oil instead. The casserole won't be identical but it's still solid.
I made this Sunday and it sliced into neat squares instead of sliding around the plate! That was the part I missed most about the old version. Thank you for this one, Annie!
First keto recipe, first time using hearts of palm. Got two packages, made the casserole, it sliced clean. Texture held better than I expected. Does freezing a full batch work, or do the noodles go soft when you reheat?
Still playing with the egg and parmesan coating. Tried a tablespoon of cream cheese on batch four, noodles bind tighter, slice cleaner. That’s staying.
Used spicy Italian sausage instead of ground beef and the marinara soaked up all that fennel and heat. Tasted more like my mom’s lasagna than anything she ever actually made. Keeping this swap.
Pat the hearts of palm noodles completely dry before coating with the egg mixture. Skipped that the first time and the bottom layer went soggy. Dry noodles and it bakes up firm enough to slice clean.
My husband gave up spaghetti as his big keto sacrifice and he watched me assemble this with complete skepticism. Then he ate two pieces without saying a word, which if you know him means he approved. The hearts of palm noodles actually hold their shape when you slice it, so it doesn’t fall apart into a bowl of meat sauce like some of the other versions I’ve tried. Going in the Sunday rotation.
Silent approval from a skeptic is the best kind. And yeah, the sliceability is what sold me on hearts of palm over zucchini noodles. Zucchini turns to mush by day two.
Pressed the hearts of palm dry before mixing them with the eggs and butter and the casserole actually held clean slices (zero soggy center). Also switched to Rao’s instead of the generic low-carb marinara I had been using and the flavor difference is real. Permanent rotation recipe.
Pressing them dry before the egg mix is what makes the clean slice possible. Should’ve called that out louder in the recipe. And yeah, Rao’s has nothing close to it.
Used hot Italian sausage for one pound of the ground beef and the sauce came out richer without adding extra seasoning. The fat does the work. One tip: if you’re eating this over a couple days, give it a few minutes out of the fridge before reheating so the hearts of palm firm back up before the cheese gets rubbery.
Hot Italian sausage with the ground beef is one I’ve tested. That fat and spice combo does something to the marinara that extra seasoning can’t. And yes, let it sit a few minutes before reheating. The hearts of palm need it.
My husband took one bite, asked if there were leftovers, and when I said no he looked genuinely disappointed, which for a hearts of palm pasta is not what I was expecting.
I’ve really been enjoying your recipes Annie!! Thanks so much! I just got into freezer meals this weekend and loving your Keto recipes! Can’t wait to try my first dish!
All the best and God bless!
Laura from San Diego!
If you’re stocking your freezer, start here. Bake it from frozen at 350 covered in foil for the first 40 minutes, then pull the foil off so the cheese crisps back up.
I LOVED, LOVED LOVED this! It was so delicious. It was just as good heated up the next day. It will definitely be a regular at my house now. Thanks for sharing the recipe.
This was insanely delicious! It had great depth of flavor and was hearty and crave-worthy. My packages of HOP linguine were 12 oz instead of 9 but it wasn’t too much. This will be on regular rotation!
This keto spaghetti recipe is a game changer! I LOVE pasta and so far, this is the closest to real pasta that I’ve tasted. Thank you for this recipe 🙂
Hearts of palm hold up in a baked casserole better than anything else I’ve tested. That’s what makes it actually feel like spaghetti instead of just pasta-shaped vegetables.
Don’t know how long ago this entry is from but I made this today and it was fabulous!! Those heart of palm noodles are a keto game changer!! Thank you!
They surprised me too the first time I used them in a casserole. Hold up under all that cheese and sauce where zucchini would’ve given up halfway through.