Go Back
Best Spaghetti and Meatballs

Hearty Spaghetti and Meatballs

Delicious Hearty Spaghetti and Meatballs recipe with step-by-step instructions.
Prep Time 30 minutes
Cook Time 1 hour
Total Time 1 hour 30 minutes
Servings 4
Calories 3400 kcal

Ingredients
  

For the tomato sauce:

  • 2 cans (28 oz each) whole tomatoes with juices
  • 1 tbsp olive oil
  • 1 tbsp butter
  • 1 medium yellow onion, diced
  • 4 garlic cloves, minced
  • 1 tsp Italian herb blend
  • 1 tsp dried oregano
  • 1 tsp granulated sugar
  • 1/4 tsp red pepper flakes (optional, or to taste)
  • salt and pepper, to taste

For the meatballs:

  • 1/3 cup seasoned Italian breadcrumbs
  • 1/3 cup whole milk
  • 1 lb ground beef
  • 1/2 lb ground pork or mild Italian sausage
  • 1 large egg
  • 3/4 cup Parmesan cheese, grated (plus more for serving)
  • 1/4 cup finely chopped fresh parsley, packed
  • 4 garlic cloves, finely chopped
  • 1 tsp kosher salt
  • 1/2 tsp onion powder
  • black pepper, to taste

For assembly:

  • 1 lb uncooked spaghetti
  • fresh basil, torn or chopped (optional)

Instructions
 

  • Prepare all your ingredients before starting. Mince all garlic cloves at once for both the sauce and the meatballs; I like to use a garlic press to speed this up. Pour the canned whole tomatoes (with juices) into a large bowl and use your hands to crush and break them up into smaller pieces. Dice the onion and chop the parsley if you haven't already.
  • Heat the olive oil and butter in a large soup pot or Dutch oven over medium heat. Add the diced onion and sauté for about 5 minutes, stirring occasionally, until the onion is soft and translucent. Stir in the minced garlic and cook for another 30 seconds, just until fragrant. Pour in the prepared tomatoes with juices, then add the Italian herb blend, dried oregano, granulated sugar, and red pepper flakes (if using). Stir well to combine. Once the sauce starts to bubble, partially cover the pot with the lid and reduce the heat to maintain a steady simmer. Let simmer for 30 minutes, stirring occasionally.
  • While the sauce is simmering, prepare the meatballs. In a large bowl, combine the seasoned Italian breadcrumbs and whole milk, mixing with a fork until a paste forms. Add the ground beef, ground pork or Italian sausage, egg, grated Parmesan, chopped parsley, finely chopped garlic, kosher salt, onion powder, and some black pepper. Using your hands, gently mix all the meatball ingredients together just until combined—be careful not to over-mix. Form the mixture into about 18 meatballs, each about 1 ½ inches in diameter. Place them on plates or a baking sheet for easy clean-up.
  • Gently stir the sauce, then carefully add the formed meatballs into the pot, arranging them so they're mostly submerged in the sauce. Partially cover with the lid and continue simmering for 35–45 minutes, or until the meatballs are cooked through (internal temperature should reach 165°F). Adjust the heat as needed to maintain a gentle simmer. I always taste the sauce at this point and season generously with salt and pepper to bring out all the flavors.
  • While the meatballs simmer, bring a large pot of salted water to a boil. Add the spaghetti and cook according to package instructions until al dente. Drain the pasta, reserving a bit of the pasta water if you like a looser sauce. For extra flavor, sometimes I toss the drained spaghetti with a drizzle of olive oil before plating.
  • Plate the cooked spaghetti and top with meatballs and plenty of sauce from the pot. Sprinkle with more grated Parmesan cheese and fresh basil if desired. Serve immediately for a comforting and classic meal.