Go Back
+ servings
a bowl of spaghetti and meatballs with parmesan
Print Recipe
5 from 6 votes

Spaghetti and Meatballs

This spaghetti and meatballs recipe has that classic rich taste you love! It's got juicy meatballs in a flavorful tomato sauce, and everything is made from scratch in this Italian-American favorite.
Prep Time20 minutes
Cook Time1 hour 10 minutes
Total Time1 hour 40 minutes
Course: Main Course
Cuisine: American, Italian American
Keyword: spaghetti and meatballs
Servings: 6
Author: Natasha Bull

Ingredients

Sauce:

  • 2 (28 ounce) cans whole tomatoes (with juices) see note
  • 1 tablespoon olive oil
  • 1 tablespoon butter
  • 1 medium onion chopped
  • 4 cloves garlic minced
  • 1 teaspoon Italian seasoning
  • 1 teaspoon dried oregano
  • 1 teaspoon granulated sugar
  • 1/4 teaspoon crushed red pepper flakes optional (or add more, to taste)
  • Salt & pepper to taste

Meatballs:

  • 1/3 cup Italian seasoned breadcrumbs
  • 1/3 cup milk whole milk recommended
  • 1 pound ground beef see note
  • 1/2 pound ground pork or ground Italian sausage
  • 1 large egg
  • 3/4 cup freshly grated parmesan cheese + more for serving
  • 1/4 cup (packed) fresh parsley chopped finely
  • 4 cloves garlic minced
  • 1 teaspoon salt
  • 1/2 teaspoon onion powder
  • Pepper to taste

For serving:

  • 1 pound uncooked spaghetti see note
  • Torn/chopped fresh basil optional, to taste

Instructions

  • I recommend prepping all ingredients before getting started to make it easier. The meatballs and sauce both use minced garlic, so be sure to mince it all at once (I use a garlic press to make this go fast). Add the canned tomatoes (with juices) to a large bowl and use your hands to break the whole tomatoes up.
  • To start the sauce, add the olive oil, butter, and onion to a soup pot or Dutch oven and sauté over medium heat for 5 minutes.
  • Stir in the garlic and cook for 30 seconds.
  • Add in the tomatoes, Italian seasoning, oregano, sugar, and red pepper flakes. Give it a good stir. Once the sauce starts to bubble, cover the pot with the lid slightly open and reduce the heat and simmer for 30 minutes (adjust between medium-low and low heat as needed to maintain a constant simmer).
  • While the sauce is cooking, make the meatballs. Add the breadcrumbs and milk to a fairly large prep bowl. Mix/mash together until you've got a paste.
  • Add the remaining meatball ingredients to the bowl. Using your hands, mix it together and then form about 18 (1 ½-inch) meatballs. Don't over-mix or pack them too tightly, and use a delicate touch. Place the meatballs on a couple of plates or a parchment paper lined baking sheet as you go along for easy clean-up.
  • Give the sauce a stir, then place the meatballs in the pot and gently arrange them so they're submerged in the sauce. Continue simmering (lid slightly open) for another 35-45 minutes or until they're cooked through (165F). You may need to increase the heat to get it going again, then reduce the heat and adjust as needed to maintain a simmer.
  • Give the sauce a taste and season with salt & pepper as needed (I'm generous with both). Serve with cooked spaghetti, more freshly grated parmesan cheese, and some fresh basil if desired.

Notes

  • The meatball prep time is counted within the cook time since the sauce is cooking while you're prepping the meatballs. 
  • I recommend using San Marzano plum tomatoes for best flavor.
  • Fattier ground meats equal moister and more flavorful meatballs, so avoid anything that's extra lean (80-85% lean is good).
  • If you have a strong preference, feel free to brown the meatballs in a skillet ahead of adding them to the sauce, but our kitchen tested both methods and the meatballs are tasty either way (and this saves time and extra dishes)!
  • 1 pound of spaghetti feeds 6, so I would not make the full amount if you're not planning on eating it all right away. Boil fresh pasta when you're warming up leftover meatballs & sauce.
  • Nutritional information includes the spaghetti (just over 2.5 oz uncooked/person).

Nutrition

Calories: 772kcal | Carbohydrates: 78g | Protein: 38g | Fat: 34g | Saturated Fat: 13g | Polyunsaturated Fat: 3g | Monounsaturated Fat: 14g | Trans Fat: 1g | Cholesterol: 129mg | Sodium: 1187mg | Potassium: 1118mg | Fiber: 6g | Sugar: 11g | Vitamin A: 806IU | Vitamin C: 31mg | Calcium: 288mg | Iron: 6mg