Keto Beef & Tomato Soup

Annie Lampella @ Ketofocus

By Annie Lampella, Pharm.D.

Published March 10, 2025 • Updated March 7, 2026

This post may contain affiliate links. See my disclosure policy.

This creamy keto beef tomato soup is loaded with ground beef, a rich tomato base, and low-carb lupini noodles. I make a big pot of this every week when the weather turns cold.

I started making this keto beef tomato soup last winter when I wanted something warm and filling but didn’t want to blow my carbs on a regular noodle soup. What I ended up with is this creamy, beefy tomato soup that hits somewhere between a classic tomato soup and a lasagna soup (just less cheesy). I’ve made it probably 30 times since then, and I keep coming back to it.

A couple bowls of creamy tomato soup filled with pasta and beef.

The ground beef gives it real body. I brown it with diced onion until everything is soft and starting to caramelize a little, then build the soup right in the same pot. Crushed tomatoes, tomato sauce, chicken broth, and a pinch of dried basil and oregano. The whole thing comes together in about 25 minutes. If you want a low carb soup that actually feels like a full meal, this is it.

Instead of regular pasta, I use lupini noodles. I’ve tested a lot of keto noodle options over the years and lupini is still my favorite for soups. They hold their shape, they don’t get mushy, and they add 14g of protein per serving on top of the beef. One thing I learned the hard way: rinse the lupini pasta for at least 3 minutes under running water before adding it. The brine leaves a sharp sour note if you rush it. I taste one noodle to make sure it’s clean before it goes in the pot. If you’re more of a regular pasta person, try my keto spaghetti instead.

The creamy part comes from cream cheese stirred in at the end. I cube it small (about half-inch pieces) so it melts fast. A little sugar-free brown sugar substitute balances out the acidity from the tomatoes, and you get this rich, velvety broth that coats the noodles perfectly. My family requests this on cold nights. Reader Amy’s husband, who never compliments food, asked to make it weekly after his first bowl.

I’ve also tried roasting the tomatoes before adding them to the pot, and it does deepen the flavor if you have the extra 20 minutes. Halve a can’s worth of whole tomatoes, roast at 400F for 15-20 minutes, and use those in place of the crushed tomatoes. Not necessary, but a nice upgrade when I’m not rushing.

This works as meal prep too. I portion it into containers for work lunches and the flavors actually get better overnight. If you like hearty, beefy soups, try my keto minestrone. For other easy ground beef dinners, my keto hamburger helper and keto beef and broccoli are both in regular rotation at my house.

How to get this soup under 15g net carbs

The full recipe comes in at 23 grams of net carbs, which I know is higher than some people want. I’ve played around with lowering the carbs and here’s what works without killing the flavor. With these tweaks, I get it down to only 12 grams of net carbs per serving.

  • Omit the onion – The yellow onion adds almost 1 gram carb per serving. I’ve made it without the onion plenty of times and the soup is still good.
  • Decrease the crushed tomatoes – Instead of one 28-oz can, use half a can. This saves you around 5 net carbs per serving and the soup is still plenty tomatoey.
  • Omit or decrease the tomato sauce – Cutting the tomato sauce saves about 6 net carbs per serving. I usually cut it in half rather than skipping it completely.
Youtube
640K+ subscribers
Discover More Keto Recipes on Our Channel

Explore 685+ keto recipe videos with step-by-step instructions, tips, and tricks to make keto easy.

Recipe
Print Pin

Keto Beef & Tomato Soup

5 (5) Prep 5m Cook 15m Total 20m 6 servings

Ingredients

  • 1 1/2 lb lean ground beef
  • 1/2 medium yellow onion, diced
  • 1 tablespoon dried basil
  • 1 teaspoon dried oregano leaves
  • 1 teaspoon garlic powder
  • 6 cups chicken broth
  • 28 oz can crushed tomatoes
  • 15 oz can tomato sauce
  • 1 teaspoon brown sugar substitute, optional
  • 8 oz lupini pasta
  • 8 oz cream cheese, softened and cubed

Step by Step Instructions

Step by Step Instructions

1
Brown the ground beef

Heat a large pot or dutch oven over medium heat, add ground beef, onion and a pinch of salt and pepper. Cook for 4-5 minutes, breaking the meat in small pieces, until it’s no longer pink and the onions are translucent. Drain any excess grease if desired.

A dutch oven with cooked ground beef and onions.
Ingredients for this step
  • 1 1/2 lb lean ground beef
  • 1/2 medium yellow onion, diced
2
It's not tomato soup without tomatoes

Stir in the basil, oregano, garlic powder, chicken broth, crushed tomatoes, tomato sauce, and brown sugar substitute (if using). Bring to a simmer and add noodles. Simmer until the pasta is just al dente (about 4-6 minutes).

A red dutch oven filled with tomato based soup with ground beef and pasta.
Tip See suggestions below for keto noodle replacements.
Ingredients for this step
  • 1 tablespoon dried basil
  • 1 teaspoon dried oregano leaves
  • 1 teaspoon garlic powder
  • 6 cups chicken broth
  • 28 oz can crushed tomatoes
  • 15 oz can tomato sauce
  • 1 teaspoon brown sugar substitute (optional)
  • 8 oz lupini noodles
3
Make it creamy

Remove from the heat. Add the cubed cream cheese and stir until cream cheese is melted and incorporated. To serve, top with parmesan cheese and fresh basil if desired.

A big scoop of cream cheese sitting on top a pot of tomato soup waiting to be stirred in.
Ingredients for this step
  • 8 oz cream cheese, softened and cubed
Nutrition Per Serving
522 Calories
25.7g Fat
46.8g Protein
23g Net Carbs
39g Total Carbs
6 Servings
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 →

Get weekly keto recipes from Annie.

Join the list and get new recipes delivered to your inbox every week.

Keto Beef & Tomato Soup

Frequently Asked Questions

Can I use ground turkey or chicken instead of beef?

I've made this with ground turkey and it works, but the flavor is noticeably lighter. What I do when I use turkey is add an extra tablespoon of tomato paste and a little more salt to make up for the richness you lose from the beef fat. Ground chicken is even milder, so I'd stick with turkey if you're swapping.

I'm out of cream cheese, what could I use as a substitute?

I've subbed in 1/4 to 1/2 cup of heavy cream and it works well. The soup is a little thinner but still creamy. I've also blended cottage cheese smooth and stirred it in at the end. Plain greek yogurt works too, but I add it off the heat so it doesn't curdle.

Can I make this in a slow cooker or Instant Pot?

I've done both. For the slow cooker, I brown the beef and onion on the stove first, then dump everything except the noodles and cream cheese into the slow cooker on low for 4-6 hours. I add the noodles in the last 15 minutes and stir in the cream cheese at the end. For the Instant Pot, I use the saute function to brown the beef, add the broth and tomatoes, pressure cook on high for 5 minutes, quick release, then stir in the noodles and cream cheese. My beef tips and noodles is another one that works great in the Instant Pot.

How long should I rinse lupini noodles before adding them?

I rinse mine for at least 3 minutes under running water, and I taste one before adding them to the pot. The first time I made this, I barely rinsed the noodles and there was this sharp sour note I couldn't place. Turned out that's just the lupini brine being stubborn. Reader Brett had the exact same experience and now rinses for a full 3 minutes too. Once the brine is gone, the noodles taste completely neutral and soak up the broth flavor.

Can I freeze this soup with cream cheese already added?

I've tried it both ways. When I freeze it with cream cheese already in, the texture gets grainy when I reheat. My workaround is to freeze the soup before the cream cheese step, then stir in fresh cream cheese when I reheat. Takes an extra minute and the texture is way better.

Can I make this dairy-free?

I've made a dairy-free version using full-fat coconut cream instead of cream cheese. I stir in about 1/3 cup at the end, and it gives a similar richness without the tang. The soup is a little thinner, so I let it simmer an extra 5 minutes before adding the coconut cream to reduce the broth slightly. Dairy-free cream cheese works too, though I've found coconut cream blends more smoothly into the hot broth.

Can I use Italian sausage instead of ground beef?

I've done this and it makes a completely different (and really good) soup. I use mild Italian sausage, remove the casings, and crumble it the same way I do the beef. The fennel and herbs in the sausage add so much flavor that I skip the dried basil entirely. Everything else stays the same. If you like that direction, my stuffed Italian sausage is another favorite.

How do I keep the soup from being too acidic?

I use a tablespoon of sugar-free brown sugar substitute, and that does the trick for me. The cream cheese also mellows the acidity a lot. If it's still too tangy for your taste, I'd add another half tablespoon of the sweetener rather than more cream cheese, which can make it too thick.

Browse by Ingredient
Similar Recipes

Others looking for “Keto Beef & Tomato Soup” also liked:

Close up of a bowl of tomato soup with spiral shaped pasta noodles.

Low carb noodle options I've tested in this soup

If you’ve made my keto recipes before, you know I’m a lupini pasta person. I’ve tried every keto noodle on the market and lupini is still my top pick for soups. They’re high protein, made from lupini beans (a legume that is mostly fiber), and they actually taste like real pasta in a hot broth.

I order my lupini noodles from Amazon or Thrive Market, but here are the substitutes I’ve tested in this soup:

  • Shirataki noodles – I prepare these according to the package, then toss them in at the end with the cream cheese. Drop the chicken broth to 4 cups since these don’t absorb liquid the way lupini does.
  • Hearts of palm noodles – Same approach. Prepare per the package, add at the end, and reduce broth to 4 cups. I like the spaghetti cut for this.
  • Shredded cabbage – I started testing this after seeing how many readers wanted an even lower carb option. Thinly sliced green cabbage simmers right in the pot and adds bulk at only about 2g net carbs per cup. I let it cook 5-6 minutes until just tender.
  • Cauliflower rice – Lower the broth to 4 cups and add the cauli rice at the end. Let it cook 2-3 minutes, then stir in the cream cheese. Not noodles, obviously, but it makes the soup heartier.

How to store, freeze, and reheat this soup

Refrigerator storage

I let the soup cool completely before transferring it to an airtight container. It keeps in the fridge for up to 4 days. Give it a good stir before reheating since the cream cheese can cause some separation. I actually think this soup tastes better on day two.

Freezer storage

I’ve frozen this soup both with and without cream cheese. My recommendation: freeze it without the cream cheese. It separates when frozen and the texture gets grainy. Just make the soup up to the cream cheese step, let it cool, and freeze in ziplock bags. It keeps for up to 3 months. Add the cream cheese when you reheat.

Reheating from frozen

On the stovetop: I put the frozen soup in a saucepan over low heat and stir it occasionally until it thaws. Then I turn it up to medium, stir in the cream cheese, and heat until everything is incorporated.

In the microwave: Place the frozen soup in a microwave-safe bowl. I use the defrost setting first, then heat in 2-minute intervals, stirring between each. Once it’s mostly thawed, switch to 30-second intervals. Add the cream cheese during the last couple intervals.

If you’re looking for another soup that meal preps well, my keto chicken rice soup holds up just as well in the fridge.

About the Author
Annie Lampella, Pharm.D.

Annie Lampella, Pharm.D.

Annie is a Doctor of Pharmacy, mom, and the recipe creator behind KetoFocus. With a B.S. in Genetics from UC Davis, she has over 14 years of experience developing family-friendly keto recipes based on the science of human metabolism.

More Dinner Recipes

crispy ground beef cooked with broccoli florets in a skillet
10 Mins
Keto Beef and Broccoli
4.6 Stars (10 Reviews)

My go-to keto dinner when nothing else is planned. Ground beef, soy sauce, sesame oil, broccoli. Chinese takeout flavor in 10 minutes, 6g net carbs.

See the Recipe
keto lasagna layers on a plate with a fork
30 Mins
Low Carb Keto Lasagna
4.8 Stars (70 Reviews)

I use deli chicken instead of noodles in this keto lasagna. No watery layers, zero prep, 30 minutes to the oven. 34g protein, 4g net carbs. Day 2...

See the Recipe
two big bowls of keto white chicken chili for dinner
25 Mins
Keto White Chicken Chili
4.8 Stars (47 Reviews)

I make this keto white chicken chili anytime I want something warm, creamy and filling. Tender chicken thighs, cauliflower rice, and a spicy cream...

See the Recipe
crispy chicken fried steak on a plate with gravy on top and a couple of keto sides
22 Mins
Keto Chicken Fried Steak
4.9 Stars (22 Reviews)

My husband's favorite keto chicken fried steak. Cubed steak double-dredged in almond flour and seasoned pork rinds, fried in butter until...

See the Recipe
ground beef stuffed red peppers on a plate
30 Mins
Keto Stuffed Peppers
4.8 Stars (16 Reviews)

Ground beef and cream cheese stuffed peppers baked at 350 for 15 minutes. 6g net carbs, 22g protein, and everything cooks in one skillet and pan.

See the Recipe
carmelized korean short ribs on a plate
11 Mins
Air Fryer Short Ribs
4.8 Stars (8 Reviews)

Flanken cut short ribs marinated in a sugar-free Korean BBQ sauce and air fried until the fat renders crispy and the meat stays juicy. I make these...

See the Recipe
Reviews 15
5 Stars (5 Reviews)
  1. L
    Luz Apr 4, 2026

    My mom used to make a tomato beef soup every winter that I thought I'd lost on keto. Made this last week and barely got four spoonfuls in before I had to text her a photo. The cream cheese at the end does something almost identical to what she got from heavy cream, which I didn't think was possible. Still not sure how Annie figured that out, but I've been thinking about it all week.

  2. D
    Donna W. Mar 29, 2026

    I almost skipped this because I had no idea what lupini noodles were and wasn't sure they'd be worth tracking down. Ended up finding them at Whole Foods, made the soup, and now I understand the appeal. The cream cheese step seemed weird to me going in, but it melts right in and gives the broth this body that most tomato soups don't have. Been making different keto soups all winter and this is the first one that actually felt complete.

    1. Annie Lampella
      Annie Lampella Apr 1, 2026

      Whole Foods is the easiest spot for lupini pasta once you find the section. That 'felt complete' reaction is exactly what I'm going for with this one.

  3. N
    Nicole Mar 23, 2026

    I'm not a cook, like at all. Had a pound and a half of ground beef to use up and figured I'd give this a shot. I was skeptical when the recipe said to stir cream cheese straight into hot broth, but it just melted right in and turned everything creamy and thick. Made myself a big bowl and sat there kind of in disbelief that I pulled this off. More on the way this weekend.

    1. Annie Lampella
      Annie Lampella Mar 28, 2026

      Ha, that bowl. Now you've got a pound and a half recipe locked in. More on the way is the right call.

  4. M
    Mei Mar 16, 2026

    Never cooked with lupini pasta before. Does it go in raw and cook in the broth, or should I cook it separately first? Either way I'm guessing it soaks up a lot of liquid.

    1. Annie Lampella
      Annie Lampella Mar 18, 2026

      Goes in raw. Rinse it for a few minutes first or there's a sour edge from the brine. And it doesn't really absorb liquid - you won't lose your broth.

  5. M
    Mike Mar 3, 2026

    Made this Sunday thinking it was just another keto dinner to get through. My daughter, who's been on a no-soup strike for two years, ate two bowls and stood over the pot debating a third. I think the cream cheese at the end got her. She kept saying it didn't taste like regular soup, like it was thicker or something. Making it again Thursday.

    1. Annie Lampella
      Annie Lampella Mar 5, 2026

      The cream cheese is what does it. Melts into the broth and thickens the whole thing. She's not wrong.

  6. B
    Brittany Mar 2, 2026

    First time using lupini pasta in a soup and I wasn't totally sure how they'd hold up, but they stayed firm even after sitting in the broth for a while. The cream cheese incorporation is more subtle than I expected, it doesn't taste like a cream cheese soup at all, just rounds out the tomato base. Solid weeknight bowl. Do you think this freezes well, or does the cream cheese separate once it thaws?

    1. Annie Lampella
      Annie Lampella Mar 4, 2026

      Freeze before the cream cheese step. Stir in fresh cream cheese when you reheat. It goes grainy if it's already in.

  7. B
    Brett Feb 26, 2026

    Tip that took me two batches to figure out: rinse the lupini pasta way longer than seems necessary. First time I barely rinsed them and couldn't place why there was this sharp sour note in every bite. Looked it up, that's just what lupini does if you rush it. Spent a solid 3 minutes rinsing the second time and suddenly the soup was what it was supposed to be. The cream cheese stirred in at the end is freaking perfect, by the way.

    1. Annie Lampella
      Annie Lampella Feb 27, 2026

      Three minutes minimum. The brine on lupini is stubborn, I taste one to know when it's ready. And the cream cheese, yeah.

  8. A
    Amy Feb 18, 2026

    Made this Sunday night when it was freezing outside and honestly I was nervous because my kids are so picky about soup (they usually just push it around the bowl). My son Logan who refuses anything with 'weird noodles' ate two full bowls and didn't say a word about the lupini pasta, which shocked me. I almost skipped adding the cream cheese at the end because I wasn't sure how it would mix in, but it melted right in and made the whole thing so much richer than I was expecting. My husband had two bowls too and then said we should make this every week (he never compliments food, so that's saying something). Putting this in the regular winter rotation for sure, probably a double batch next time because there was barely enough left for lunch the next day.

    1. Annie Lampella
      Annie Lampella Feb 18, 2026

      Logan eating two full bowls without saying a word about the lupini pasta is the whole point. A husband who never compliments food wanting it weekly, though? Worth making it every Sunday. Double batch for sure.

Leave a Review