This rich and flavorful vegetable beef soup makes a comforting start to a winter meal and is hearty enough to serve as a filling main course.
It's one of those recipes where leftovers get better as they rest in the fridge, allowing the flavors to meld.
This vegetable beef soup has distinct European flavors and seasonings, starting with mirepoix as the vegetable base and ending with grated parmesan to flavor and thicken the soup.
It is also wonderfully filling and satiating. While it works as an appetizer, it's rich and hearty enough to be served as a main course, much like no-bean chili, chicken chili, or fish chowder.
Here's an overview of the ingredients you'll need to make this vegetable beef soup. The exact measurements are listed in the recipe card below.
- Olive oil: This is my favorite oil to cook with. Butter is another tasty option.
- Vegetables: I use onion, garlic, carrots, and celery.
- Lean ground beef: I use an 85/15 mixture. A leaner mixture (90/10) should work, but then you'll need to add more oil or butter to the pan.
- To season: Kosher salt, black pepper, oregano, rosemary, red pepper flakes, and a bay leaf. The rosemary is especially good here. It flavors the soup very nicely.
- Beef broth: Store-bought is fine. I prefer to use regular broth, as I find it more flavorful than a low-sodium broth.
- Pomi chopped tomatoes: These tomatoes are sweeter and less acidic than American canned tomatoes, and they're also diced very finely, which is important for the texture of this soup.
- Grated Parmesan: Make sure you use finely grated cheese, not coarsely shredded. This is an important ingredient - it helps thicken the soup.
- Use ground turkey or ground chicken instead of ground beef. Ground lamb is another option, but personally, I'm not a fan, since it has a very strong and distinctive flavor.
- Dried thyme is an excellent addition. Sometimes I add ¼ teaspoon in addition to the other spices.
- A teaspoon of paprika or smoked paprika adds warmth and another layer of flavor to the soup.
Vegetable Beef Soup Instructions
Scroll down to the recipe card for detailed instructions. Here are the basic steps for making this recipe:
- Cook the onions, carrots, celery, and ground beef in olive oil. Cook until the beef is no longer raw and the vegetables are tender-crisp. Break the meat up as you cook into small chunks. (Photos 1-2).
- Add the garlic and spices and cook for one more minute. (Photo 3).
- Stir in the beef broth and tomatoes, bring to a boil, then reduce the heat and simmer the soup for 20 minutes. This is the stage that allows all the wonderful flavors to meld together and it also slightly thickens the soup. (Photos 4-5).
- The last step is to mix in the parmesan, which works really well at thickening the soup and also flavoring it. It’s messy, though – it will coat your saucepan with a thin sticky film. It’s not difficult to scrub with warm soapy water, but I just want you to be aware of this issue. (Photo 6).
Choosing the best tomatoes
I use Pomi chopped tomatoes in this recipe. They are imported from Italy, and they are noticeably sweeter, thicker, and less acidic than American canned diced tomatoes.
You can find them in supermarkets, at Whole Foods, and on Amazon. I highly recommend them in this recipe for the best results.
Another good Italian brand that is easier to find in regular supermarkets is Cento. In my experience, Cento Crushed Tomatoes are an acceptable alternative to Pomi chopped tomatoes.
Alternatively, you can use one (14 oz) can of American diced tomatoes, undrained, plus one (14 oz) can of plain tomato sauce or pureed tomatoes.
Adjusting the salt
This recipe relies on two packaged products that can greatly vary - tomatoes and broth. So you should definitely taste the soup before serving and see if you need to adjust anything.
I use low-sodium tomatoes (Italian brands are low in sodium) but regular (not reduced-sodium) beef broth. If you use a different combination, you might need to use less or more salt in this recipe. So taste and decide - it's the only way to get it right.
This is a chunky soup, similar to the texture of chili (such as this pumpkin chili) or curry (such as this chicken curry).
Yes. Although beef broth is best, you can use chicken broth. Again, I would recommend using a salted broth if you can rather than a low-sodium one.
Yes, absolutely. My recipe doesn't contain any potatoes (or pasta, for that matter).
Although potatoes would help with thickening the soup, I find that the soup comes out rich and thick, especially when you add grated parmesan.
I usually serve this soup as a main course, with any of the following on the side:
The leftovers keep well in the fridge, in an airtight container, for 3-4 days. Reheat them gently, covered, in the microwave at 50% power, or on low heat on the stovetop.
You can also freeze this soup. I like to freeze it in mugs, then reheat them in the microwave when I feel like having something warm and comforting.
More Soup Recipes
👩🏻🍳 I typically publish a new or updated recipe once a week. Want the new recipes in your inbox? Subscribe today! You can unsubscribe at any time.
Vegetable Beef Soup
- 1 tablespoon olive oil
- 1 large onion finely diced (8 oz)
- 2 cups carrots diced (2 large carrots, 8 oz)
- 2 cups celery diced (8 oz)
- 1 lb. lean ground beef (85/15)
- 1 teaspoon Diamond Crystal kosher salt
- ½ teaspoon black pepper
- 1 tablespoon fresh garlic minced
- 1 teaspoon dried oregano
- ½ teaspoon dried rosemary
- ¼ teaspoon red pepper flakes
- 4 cups beef broth (not low-sodium)
- 26 oz Pomi chopped tomatoes
- 1 dried bay leaf
- ½ cup Parmesan dry-grated (not shredded)
- Heat the oil in a large saucepan over medium-high heat for about 2 minutes.
- Stir in the onions, carrots, celery, and ground beef. Season with kosher salt and black pepper.
- Cook, stirring frequently and breaking up the meat into small chunks, until the vegetables are tender-crisp and the meat is no longer raw (it can still be pink, that's OK), about 5 minutes.
- Add the garlic, oregano, rosemary, and red pepper flakes. Cook, stirring, for one more minute.
- Stir in the beef broth, tomatoes, and bay leaf. Bring to a boil. Reduce the heat to medium and cook, uncovered, stirring occasionally, for 20 minutes.
- Remove the bay leaf. Turn the heat off and stir in the parmesan. Divide the soup into bowls and serve.
- If you can't find Pomi chopped tomatoes, you can use one (14 oz) can of petite diced tomatoes (undrained) plus one (14 oz) can of tomato puree or plain tomato sauce.
- You'll need to adjust the salt in this recipe according to the products you use. I use regular beef broth, but the Italian tomatoes I use are low in sodium. If you use reduced-sodium broth, consider adding more salt, unless the tomatoes you use are high in sodium. In short, taste and decide for yourself. 🙂
- The parmesan is a bit messy - it creates a thin sticky film on the bottom of the saucepan. It's not difficult to scrub with warm soapy water, and the parmesan's thickening effect and amazing flavor are well worth it.
Add Your Own Notes
Nutrition per Serving
❤️ Let's connect! Follow me on Pinterest, Facebook, TikTok, YouTube, Instagram, or Twitter.
Leave a Reply