Large soup pot or Dutch oven Essential for sautéing and simmering. A 6-quart pot works best.
Mixing bowl For preparing the meatball mixture.
Measuring cups and spoons Accuracy is key for seasoning and liquid ratios.
Wooden spoon or ladle For stirring and serving.
Optional slow cooker If you want to convert this into a slow cooker soup, you can adapt the cook times accordingly (see FAQs below).
Substitutes If you don’t have a Dutch oven, a large stockpot or even a deep sauté pan with a lid will work.
Ingredients
For the Meatballs
1lbground beef80/20 for juiciness
1/3cupItalian breadcrumbs
1/4cupgrated Parmesan cheese
2clovesgarlicminced
2tbspchopped fresh parsley
1large egg
1tspsalt
1/2tspground black pepper
1/4tspred pepper flakesoptional
For the Soup
1tbspolive oil
1small yellow oniondiced
2clovesgarlicminced
128 oz can crushed tomatoes
4cupsbeef brothor low-sodium chicken broth
2cupswater
2tspdried oregano
1tspdried basil
Salt and pepperto taste
6ozuncooked spaghettibroken into thirds
Fresh basilfor garnish
Grated Parmesanfor serving
Instructions
Prepare the Meatballs
In a medium bowl, combine ground beef, breadcrumbs, Parmesan, garlic, parsley, egg, salt, pepper, and red pepper flakes. Mix gently with your hands until just combined—overmixing can make the meatballs tough. Shape into 1-inch balls (about 20–24 meatballs depending on size) and set aside.
Brown the Meatballs
Heat olive oil in a large soup pot over medium heat. Add the meatballs in batches to avoid overcrowding. Brown on all sides, about 4–5 minutes total. They don’t need to be fully cooked—just seared for flavor. Remove meatballs and set aside on a plate.
Build the Soup Base
In the same pot, add diced onions and sauté until translucent, about 5 minutes. Add garlic and cook for 30 seconds until fragrant. Pour in the crushed tomatoes, beef broth, and water. Stir in dried oregano and basil. Bring to a simmer and season with salt and pepper.
Simmer with Meatballs
Return the meatballs to the pot. Simmer uncovered for 15 minutes, allowing the flavors to meld and the meatballs to cook through.
Add the Spaghetti
Add the broken spaghetti directly into the simmering soup. Stir occasionally to prevent sticking. Cook for 10–12 minutes until pasta is tender. Adjust seasoning with more salt and pepper if needed.
Serve and Garnish
Ladle soup into bowls and top with fresh basil and a generous sprinkle of Parmesan cheese. Serve with crusty bread or garlic toast for a full, cozy meal.