Soups & Stews
This beef and tomato macaroni soup recipe delivers the ultimate one-pot comfort in under an hour—rich, hearty, and packed with tender beef and al dente pasta. The secret lies in browning the meat first, creating a deep, savory foundation that transforms into a velvety broth. I've perfected this version over years of testing, ensuring every spoonful delivers that perfect balance of meaty flavor and tomato brightness.
What makes this recipe stand out is the layering of flavors—starting with a rich beef base, then building depth through aromatic vegetables and herbs. The one-pot method simplifies cleanup while allowing the pasta to absorb the flavorful broth beautifully. No need for multiple dishes; just one pot that does it all. The result? A soup so satisfying, it becomes the centerpiece of any meal.
By the time you finish, you'll have a steaming bowl of soup with tender beef chunks, perfectly cooked macaroni, and a sauce that's creamy yet light. The slow simmer develops complex flavors, while the final touch of herbs and cheese adds freshness. This isn't just soup—it's a cozy, restaurant-quality meal that comes together effortlessly.
The beauty of this recipe is its adaptability. Whether you're using a stovetop, slow cooker, or Instant Pot, the principles stay the same. It's the kind of dish that tastes even better the next day, making it perfect for meal prep. Let's get cooking—your taste buds will thank you.
Ingredients for beef and tomato macaroni soup
Rich beef base meets velvety tomato broth—this one-pot magic delivers comfort in every spoonful.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Beef 🥩 | 1 lb | 80% lean for best flavor |
| Medium Yellow Onion 🧅 | 1 whole | Diced for even cooking |
| Medium Carrots 🥕 | 3 whole | Peeled and sliced into rounds |
| Garlic Cloves 🧄 | 4 cloves | Minced for aromatic depth |
| Canned Crushed Tomatoes 🍅 | 1 can | 28 oz, San Marzano preferred |
| Elbow Macaroni 🍝 | 8 oz | Uncooked, al dente preferred |
| Beef Broth 💧 | 4 cups | Low-sodium preferred |
| Whole Milk 🥛 | ½ cup | Full-fat for creaminess |
| All-Purpose Flour 🌾 | 2 tbsp | For thickening broth |
| Dried Italian Seasoning 🌿 | 1 tbsp | Or fresh basil/oregano |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Grated Parmesan Cheese 🧀 | ¼ cup | Freshly grated for garnish |
The beef is non-negotiable here. 80% lean ground beef gives you that perfect meaty richness without turning greasy. Grab it from the butcher counter if you can—it's fresher than pre-packaged. I always buy San Marzano crushed tomatoes when I'm at Whole Foods, but any quality canned tomatoes work. The macaroni? Elbow shape holds up best in long simmers—no mushy pasta here. For the broth, low-sodium is key so you control the salt level. Fresh garlic and onions are worth the extra minute to chop—it makes all the difference.
No ground beef? Stew meat or chuck roast cut into small pieces works too—just brown it first. Short on tomatoes? Tomato paste plus water gets you close. Italian seasoning missing? Dried basil and oregano at half the amount each. The milk adds creaminess, but half-and-half or coconut milk works if you're avoiding dairy. For extra depth, a splash of red wine when browning the meat is a game-changer. And if you're prepping ahead, cook the pasta separately and add it fresh at the end to keep it al dente.
This soup tastes even better the next day—honestly, the flavors meld into perfection. Keeps for 4-5 days in the fridge, freezes beautifully for 3 months. I always make double batches because it reheats like a dream. Store in airtight containers with a layer of broth on top to keep the pasta from drying out. The Parmesan? Freshly grate it right before serving—pre-grated gets clumpy. And trust me, the extra 10 minutes of simmering after adding the pasta makes all the difference in texture.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe when I’m too tired to scrub pots afterward. Brown the ground beef with onions and garlic, toss in the crushed tomatoes and diced carrots, then dump in the pasta—no straining, no fuss. The beef releases all its savory goodness right into the pot, and the pasta soaks up every last bit.
- Tomato-Garlic Love: That canned crushed tomato? It’s the star. The acidity cuts through the richness of the beef while the garlic cloves (I always use fresh, roasted for extra depth) build layers of warmth. Add a pinch of Italian seasoning, and suddenly you’ve got restaurant-quality flavor without the pretension.
- Leftovers That Beg: This soup tastes even better the next day—honestly, it’s my go-to for meal prep. I make a double batch on Sundays, and by Wednesday, the fridge is empty because everyone fights over the last bowl. The pasta holds up perfectly, and the flavors meld into something heartier.
- Budget-Friendly Powerhouse: Ground beef stretches for miles here, and carrots last forever in the crisper. Canned tomatoes? Always on sale. I’ve made this soup for under $2 per serving, and it still feels like a treat. Plus, it’s the kind of dish that makes you feel like you’re feeding a crowd without breaking the bank.
Step-by-step instructions for beef and tomato macaroni soup
This one-pot wonder delivers hearty, comforting soup with minimal cleanup and maximum flavor.
Brown the Ground Beef
Heat a large, deep pot over medium-high heat with no oil—we'll use the beef's natural fat. Add the 1 lb ground beef and break it up with a wooden spoon as it cooks. Let it brown for 5-6 minutes until the meat loses its raw color and becomes nicely browned in spots.
Here's the thing—don't drain the fat. Those rendered juices pack serious flavor into the soup. If the pot gets too dry before the beef is fully browned, add 1 tablespoon of beef broth to help deglaze. Once the beef is fully cooked, remove it from the pot and set it aside temporarily.
Sauté the Vegetables
In the same pot, add the 1 whole medium yellow onion and 3 whole medium carrots (peeled and sliced into rounds). Cook for 5 minutes until the onion becomes translucent and the carrots begin to soften. Add the 4 cloves minced garlic and cook for another 30 seconds until fragrant.
You'll know the vegetables are ready when they release their sweet aroma and the onions are no longer raw-tasting. If the vegetables start sticking, add another splash of beef broth to keep them cooking evenly. This step builds the flavor foundation for the entire soup.
Build the Sauce Base
Pour in the 1 can crushed tomatoes and scrape up any browned bits from the bottom of the pot with a wooden spoon. Add the 4 cups beef broth and bring everything to a gentle boil. Stir in the 2 tbsp all-purpose flour and the 1 tbsp dried Italian seasoning, then reduce heat to medium-low.
Let the mixture simmer for 10 minutes while you prepare the pasta. The soup should thicken slightly as the flour creates a natural roux. If it gets too thick, stir in a splash of water or broth. This is where the magic happens—the flavors meld together into a rich, savory base.
Cook the Pasta and Finish
Add the 8 oz elbow macaroni and the reserved cooked beef back to the pot. Stir gently to distribute the pasta evenly. Bring the soup back to a gentle boil, then reduce heat to medium-low and let it simmer uncovered for 12-15 minutes, stirring occasionally, until the pasta is al dente.
In the last 5 minutes of cooking, stir in the 0.5 cup whole milk and season with 1.5 tsp salt and 0.5 tsp black pepper. Taste and adjust seasoning—you might need a bit more salt since we're using low-sodium broth. The milk adds a lovely creaminess without making the soup heavy.
Serve with Parmesan
Ladle the soup into bowls and top each serving with 1 tablespoon grated Parmesan cheese. The cheese adds a final umami punch and beautiful presentation. Serve immediately while the pasta is still al dente and the soup is steaming hot.
This one-pot soup delivers all the comforting flavors of a classic Italian-American dish with minimal effort. The meatball-like texture from the browned beef, combined with the creamy milk and rich tomato broth, makes every spoonful satisfying. Leftovers taste even better the next day!
Pro Tips For Making Beef And Tomato Macaroni Soup
- Brown the Beef Properly: Don’t just "cook" the ground beef—get it deep brown with a crust. I used to rush this, and the soup always tasted flat. Break it into small pieces first, then sear in batches over medium-high heat until the edges are dark. That caramelized crust packs serious flavor.
- Chop Carrots Small: Skip the thick slices—dice those carrots into ¼-inch pieces. They’ll soften faster and blend into the soup instead of sitting like chewy rocks. If you’re lazy, a food processor does this in seconds, and the texture stays consistent.
- Salt the Tomatoes: That canned crushed tomato is hiding unsalted flavor. Taste it straight from the can, then add ½ to 1 teaspoon of salt—yes, even if the label says "low-sodium." It balances the acid and makes the whole soup taste richer.
- Simmer, Don’t Boil: Once the pasta’s in, keep the heat low enough that you see tiny bubbles, not a rolling boil. I learned this after watching my macaroni turn mushy. A gentle simmer keeps it al dente and lets the flavors meld without breaking the noodles.
Flavor customization for these flavors
Classic Italian Twist
Swap the dried Italian seasoning for a blend of 1 tsp dried oregano and ½ tsp dried basil, then add 1 bay leaf during the simmer. Remove the bay leaf before serving. For extra depth, stir in 1 tbsp tomato paste when adding the crushed tomatoes to intensify the umami flavor. This version tastes like Nonna's kitchen—rich, herby, and full of tradition. 🌿
Spicy Kick
Add ½ tsp red pepper flakes when sautéing the vegetables, then stir in 1 tsp hot sauce (like Cholula or Tabasco) in the final minute of cooking. For a smoky twist, sprinkle ½ tsp smoked paprika over the soup before serving. This version brings heat without overpowering the beefy tomato base. 🌶️
Creamy Upgrade
Replace the milk with ½ cup heavy cream or ½ cup coconut milk for a richer texture. For a velvety finish, whisk in 2 tbsp sour cream off the heat before serving. If you love cheese, stir in ½ cup shredded mozzarella during the last 5 minutes of cooking for a bubbly, melted effect. The result? A soup so creamy it feels indulgent. 🧀
Vegetable Boost
Add 1 cup diced zucchini or 1 cup chopped celery with the carrots for extra freshness. For a heartier version, stir in ½ cup chopped spinach or ½ cup frozen peas in the final 3 minutes of cooking. These additions keep the soup vibrant and packed with nutrients without altering the core flavors. 🥕
Meatball Magic
Replace the ground beef with ½ lb beef meatballs (homemade or store-bought) and brown them first. Simmer the meatballs directly in the soup for 10-12 minutes until cooked through. For extra richness, add 1 tbsp Worcestershire sauce when building the sauce base. This version turns your soup into a meatball feast in one pot. 🍝
Slow-Cooker Adaptation
For a hands-off version, brown the beef and sauté the vegetables as directed, then transfer everything to a 6-quart slow cooker. Add the remaining ingredients and cook on low for 6-7 hours or high for 3-4 hours. The slow cooker deepens the flavors while keeping the pasta tender. Stir in the milk and seasonings just before serving. Perfect for busy weeknights! ⏰
Nutrition facts
Frequently asked questions
Can I make this soup without ground beef?
For a vegetarian version, swap the beef for 1 lb mushrooms (like cremini or portobello) or ½ lb lentils. Brown the mushrooms first for maximum flavor, just like you would the beef. The texture will be different but still hearty and satisfying.
How do I prevent the pasta from getting mushy?
Cook the pasta directly in the soup for 12-15 minutes at a gentle simmer, not a rolling boil. If your pasta cooks faster, remove it 2 minutes early and let it finish absorbing the broth off the heat. Adding the milk in the last 5 minutes also helps maintain the pasta's texture.
Can I make this in a slow cooker or Instant Pot?
Yes! For the slow cooker, brown the beef and sauté the veggies first, then transfer everything to the pot and cook on low for 6-7 hours. For the Instant Pot, use the "Sauté" function to brown the beef and veggies, then switch to "Soup" mode for 10 minutes after adding all ingredients. Both methods work beautifully!
Why does my soup taste too salty?
Using low-sodium broth helps, but sometimes the beef or ingredients add extra salt. Taste as you go and adjust with a pinch of sugar (it balances saltiness) or a splash of milk. If it's still too salty, stir in ½ cup extra tomatoes or ½ cup broth to dilute the flavor.
How long will leftovers keep?
Store leftovers in an airtight container in the fridge for up to 4-5 days. For longer storage, freeze for 3 months. The flavors actually improve after the first day—it's even better reheated! Just add a splash of broth if it thickens too much.
