Homemade Spaghetti and Meatballs with Tomato Sauce

Classic spaghetti and meatballs combines tender, herb-infused meatballs simmered in a rich crushed tomato sauce with aromatic garlic and onion. This version uses a blend of ground beef and Italian sausage for deep, savory flavor, bound with soaked breadcrumbs and parmesan for moisture and richness. The meatballs are browned before simmering, developing a golden crust while staying tender inside. Fresh basil stirred in at the end adds brightness to the sauce. This is comfort food for any home cook seeking a weeknight dinner that tastes like it took hours. Serve over al dente spaghetti with extra parmesan and fresh basil. What sets this apart is the meat combination, the bread-and-water binder ensuring tender meatballs, and the two-stage cooking method that builds flavor without drying them out.
Ingredients
- 3 slices white bread, crusts removed, diced or tornpanko breadcrumbs1/2 cup dryadds gluten
use less water (1/4 cup) to account for lower water content
Full guide → - ⅝ cup cold water
- 1 lb lean ground beef, 7-15% fat
- 1 lb sweet ground Italian sausage, casings removed
- ¼ cup grated parmesan cheese
- 4 cloves garlic, minced
- 1 tsp sea salt
- ½ tsp black pepper
- 1 large egg
- ¾ cup all-purpose flour, to dredgepanko3/4 cup
crispier crust, lighter texture
- 3 Tbsp light olive oil, to saute, or vegetable oil
- 1 medium yellow onion, 1 cup chopped
- 56 oz crushed tomatoes, from 2 28-oz cans
- 2 leaves bay leaf, optional(optional)
- salt, to taste(optional)
- black pepper, to taste(optional)
- 2 Tbsp fresh basil, finely minced
- 1 lb spaghetti
Instructions
- 1
Combine bread pieces with cold water and let sit 5 minutes, then mash with a fork.
- 2
In a large bowl, combine ground beef, sausage, parmesan, garlic, salt, pepper, egg, and mashed bread. Mix until just combined.
- 3
Form into 1 1/2-inch meatballs. Dredge in flour and shake off excess.
- 4
Heat oil in a deep, heavy skillet over medium heat. Brown meatballs in 2 batches without crowding, about 6 minutes total per batch. Set aside.
- 5
Add more oil if needed and saute chopped onion until soft and golden, about 5 minutes. Add minced garlic and stir until fragrant, 1-2 minutes.
- 6
Stir in crushed tomatoes and bay leaves. Bring to a light boil.
- 7
Return meatballs to the pan, partially cover, and simmer gently for 30 minutes, turning occasionally. Five minutes before done, stir in fresh basil and season with salt and pepper.
- 8
Cook spaghetti according to package directions until al dente. Drain and return to pot.
- 9
Pour sauce and meatballs over spaghetti and toss gently. Transfer to a platter, garnish with parmesan and fresh basil, and serve hot.
Tips
Soak bread in water and mash thoroughly before mixing into meat. This creates a binder that keeps meatballs tender and moist, preventing them from becoming dense or dry during cooking. The moisture is key to a tender final texture.
Brown meatballs in batches without crowding the pan. Overcrowding causes steam buildup and prevents proper browning. A golden crust adds flavor through the Maillard reaction even before simmering.
Simmer gently, not at a hard boil. Vigorous cooking toughens the meatballs and causes sauce to reduce too quickly. Gentle heat keeps them tender while flavors meld over 30 minutes.
Good to Know
Refrigerate sauce and meatballs in an airtight container up to 4 days. Reheat gently on the stovetop over low heat, stirring occasionally. Add a splash of water if sauce has thickened too much.
Make meatballs and sauce up to 2 days ahead. Store separately in the refrigerator. Cook pasta fresh just before serving. The flavors actually deepen when made a day ahead.
Serve hot over al dente spaghetti. Garnish generously with grated parmesan cheese and fresh basil. Pair with a simple green salad and crusty bread. Works for casual family dinners or entertaining.
Common Mistakes
Do not skip soaking the bread in water—dry breadcrumbs make dense, tough meatballs.
Do not crowd the pan when browning meatballs to avoid steaming them instead of searing.
Do not cook sauce at a hard boil to prevent tough meatballs and excessive reduction.
Do not skip the initial browning step; this builds essential flavor through crust development.
Do not forget to add fresh basil at the end—it brightens the sauce considerably.
Substitutions
Dairy-Free Swaps
General Alternatives
use less water (1/4 cup) to account for lower water content
Full guide →lose herbaceous sausage flavor but still delicious
FAQ
Can I freeze these meatballs?
Yes. Freeze cooked meatballs and sauce together in an airtight container for up to 3 months. Thaw overnight in the refrigerator and reheat gently on the stovetop over low heat, stirring occasionally. Flavor remains intact after freezing.
What if I don't have Italian sausage?
Use 2 pounds of ground beef instead. The dish will lack the subtle herbs and fennel notes of sausage, but remains delicious. Or substitute ground pork with Italian seasoning added to the meatball mixture for similar flavor.
How long does the sauce keep?
Refrigerate sauce with meatballs in an airtight container up to 4 days. Freeze up to 3 months. Reheat gently; add water if sauce thickens too much. Flavors often improve the next day as ingredients continue melding.