This 45-minute Italian spaghetti and meatballs is a classic pasta recipe made with homemade tender meatballs simmered in an onion herb tomato sauce.

My Aunt Maguy taught me this recipe from her time living in Italy. These homemade meatballs literally melt in your mouth and are so tender! The secret to moist meatballs is using bread soaked in milk rather than breadcrumbs.
Serve this homemade spaghetti recipe with some classic fried calamari. Another version of this recipe is Aunt Maguy's Italian meatball stuffed zucchini recipe. Serve with some classic tiramisu for the ultimate Italian dinner.
Meatball Ingredients

- Bread: Traditional Italian meatballs use dough from Italian bread, which is perfectly fine. I chose to use some whole-wheat sliced sandwich bread. Just remove the crust of the bread.
- Egg: Don't skip the egg because it helps bind all of the ingredients together in the meatball.
- Ground nutmeg: Don't skip this spice! This is the secret ingredient to authentic Italian meatballs. I grind my nutmeg fresh using a Microplane zester.
Tomato Sauce Ingredients

How To Make Spaghetti and Meatballs

Remove the crust from the bread. Roughly tear the bread into chunks. Add the milk to the bread and give it a few minutes to soak. Squeeze the milk bread with your hands, straining the excess milk from the bread. Place the soaked milk bread in a large bowl.

Add the ground beef, mashed garlic, shredded parmesan, egg, salt, pepper, and ground nutmeg to the milk-soaked bread. Mix the Italian meatball mixture with your hands until combined. The meatball mixture should feel soft but robust enough to form a ball.

Heat the vegetable oil and olive oil on medium heat in a wide nonstick pan with a lid. Form balls 1.5" sized balls with the Italian meatball mixture. Place into the oil.

Caramelize the meatballs outside evenly for about 5 minutes on medium heat covered. Using a slotted spoon, place the meatballs on a paper towel-lined plate.
Make the Spaghetti

In a large pot, heat olive oil on medium-high heat. Add the diced onions and minced garlic until they start to brown on the edges. Then add the strained tomatoes, water, dried Italian herbs, salt, and pepper. Cook the tomato sauce on medium for about 5 minutes covered.

Add the meatballs to the tomato sauce and turn the heat to medium. Cover the meatball and spaghetti sauce and cook for another 15 to 20 minutes. The sauce should thicken up.

While the tomato sauce is cooking, prepare the pasta. Boil water in a large pot. Add the dried spaghetti pasta noodles and cook as per the instructions on the box. Drain the pasta. Spoon the meatball sauce over the spaghetti noodles. Top with grated parmesan and fresh herbs.

Tips and Tricks
- Execute the recipe in the order it's written to keep this meal under 45 minutes. I can now make this recipe in under 30 minutes.
- Squeeze the excess milk from the bread. Otherwise, the meatballs might be too soggy and fall apart.
- The texture of the meatballs is soft but robust. The meatballs won't form a perfectly spherical shape, which is normal.
📋 Recipe

Italian Spaghetti and Meatballs
Ingredients
Italian Meatballs
- 1 lb lean ground beef 90% to 95%
- 3 cups torn bread about 6 slices of sandwich bread with crust removed
- ½ cup shredded parmesan
- 1 cup milk
- 1 egg
- 3 garlic cloves mashed
- 1 teaspoon salt
- ½ teaspoon ground pepper
- 1 teaspoon ground nutmeg
- 4 tablespoons oil vegetable, canola, any frying oil
- 2 tablespoons olive oil
Homemade Spaghetti Sauce
- 1 lb spaghetti pasta
- 24 ounces of strained tomatoes see note 3
- 2 cups water
- 2 tablespoons olive oil
- 1 cup of finely chopped onion
- 3 garlic cloves minced
- 1 teaspoon salt or to taste
- 2 teaspoon dried Italian herbs
Instructions
Make the Italian Meatballs
- Remove the crust from the bread. Roughly tear the bread into chunks. Add the milk to the bread and give it a few minutes to soak. Squeeze the milk bread with your hands, straining the excess milk from the bread. Place the soaked milk bread in a large bowl.
- Mash the garlic cloves with a mortar and pestle until it forms a paste. Alternatively, press the garlic into a paste using a garlic press.
- Add the ground beef, mashed garlic, shredded parmesan, egg, salt, pepper, and ground nutmeg to the milk-soaked bread.
- Mix the Italian meatball mixture with your hands until combined.
- In a wide nonstick pan with a lid, heat the vegetable oil and olive oil on medium heat. Form balls 1.5" sized balls with the Italian meatball mixture. Place into the oil. Caramelize the outside of the meatballs evenly for about 5 minutes on medium heat covered. Using a slotted spoon, place the meatballs on a paper towel lined plate.
Make the Spaghetti Sauce
- Finely dice an onion. Mince the garlic. In a large pot with a cover, heat up the olive oil on medium-high heat. Add the onions and garlic until they start to brown on the edges. Then add the strained tomatoes, water, dried Italian herbs, salt, and pepper. Cover the tomato sauce on medium-high for about 5 minutes.
- Add the meatballs to the tomato sauce and turn the heat to medium. Continue to cover the meatball and spaghetti sauce and cook for another 15 minutes. The sauce should thicken up.
- While the spaghetti sauce is cooking, prepare the spaghetti pasta. Boil water in a large pot. Add the dried spaghetti pasta noodles and cook as per the instructions on the box. Drain the pasta.
Equipment
Notes
- Substitute any pasta for spaghetti paste. Boil the pasta as per the instructions on the box.
- Use lean ground turkey or chicken in lieu of beef.
- Tomato puree, crushed tomatoes, and plain tomato sauce are suitable substitutes for strained tomatoes.
- Storage: Cooked meatballs (before adding to the tomato sauce) can be frozen for up to 3 months in an airtight container. Store the meatball and tomato sauce separately from the spaghetti in the fridge for 4 to 5 days in an airtight container.
- Substitutions:
- Substitute Italian bread, French bread, or any other doughy bread (with the crust removed) instead of sliced bread.
- Use fresh herbs in place of dried herbs.
- Substitute any type of pasta for spaghetti.
- Use lean ground turkey or ground chicken instead of ground beef.










Agnes says
Excellent recipe!
Lily says
Thanks Agnes!
Tina S. says
Easier to make than I thought and it was the best meatball recipe I’ve ever tried.
Lily says
Thank you for the comment and so glad you liked it! This is definitely my favorite meatball recipe too
Joetuesday420 says
I've seen a lot of very bad "Italian" recipes in America, like olive garden bad. This one is not the worst but there are a few improvements that could be implemented. For example, In Italy there is no Italian herb mix. They would use fresh. All you need here is some fresh basil that's it. The nutmeg in the meatballs isn't something I've heard of but sounds interesting. 👍
Lily says
Thanks for the comment Joe! I’ll try making the recipe with fresh basil next time I make it.