Spaghetti and Meatballs

This isn’t just any spaghetti and meatballs—this is the recipe that’ll make your kitchen smell like an authentic Italian trattoria and have everyone begging for your secret.

The magic happens when you build the sauce from scratch with sweet carrots, earthy cremini mushrooms, and San Marzano tomatoes that break down into pure liquid gold.

These aren’t your average frozen meatballs either—we’re talking about tender, juicy spheres of perfection made with a blend of ground beef and Italian sausage that practically melt in your mouth.

The best part is watching those meatballs slowly simmer in the rich tomato sauce, absorbing all those incredible flavors while filling your house with the most irresistible aroma.

You’ll get perfectly al dente pasta twirled with sauce that clings to every strand, topped with meatballs so good they’ll ruin you for the restaurant version forever.

This is comfort food at its finest—the kind of meal that brings families together and creates those “remember when mom made…” moments that last a lifetime.

Ingredients
For the sauce
- 2 tablespoons extra virgin olive oil
- 1 /2 sweet yellow onion, chopped
- 3 cloves garlic, chopped
- 1 cup very finely chopped carrots
- 1 cup chopped cremini brown mushrooms
- 3 tablespoons tomato paste
- 2 (28-ounce) cans Italian plum tomatoes (San Marzano, if possible)
- 1 /4 cup chopped fresh Italian parsley
- 1 /4 cup chopped fresh basil
- 1 /4 cup red wine
- 1 /4 cup grated Parmesan-Romano cheese blend
- Salt, to taste (about 1 teaspoon)
For the meatballs
- 1 pound ground beef (at least 16% fat)
- 1 /2 pound fresh bulk Italian-style pork sausage
- 2 tablespoons finely chopped basil
- 2 tablespoons finely chopped Italian parsley
- 1 /2 cup finely chopped cremini brown mushrooms
- 2 large eggs
- 3 /4 cup unseasoned breadcrumbs
- 1 /4 cup grated Parmesan-Romano cheese blend
- 2 teaspoons sea salt
- 2 teaspoons fresh ground black pepper
- 1 tablespoon extra virgin olive oil
- 1 splash red wine
For the pasta
- 1 1/2 pounds dry 100% semolina spaghetti, thin spaghetti, or bucatini
- Salt, for the pasta water
Instructions
Prepare the sauce
- 1 Heat the 2 tablespoons olive oil in a 4 to 5-quart pot on medium-high heat until shimmering. Add the chopped onions and cook for 2 minutes until they begin to soften and become fragrant. The onions should sizzle gently but not brown.
- 2 Add the 3 cloves chopped garlic and cook for 30 seconds longer until fragrant. Be careful not to let the garlic burn, as it can turn bitter quickly at this temperature.
- 3 Add the 1 cup finely chopped carrots and 1 cup chopped cremini mushrooms, and cook for 2 minutes until the vegetables begin to soften. The mushrooms will release their moisture, which is exactly what you want for building flavor depth.
- 4 Add the 3 tablespoons tomato paste, stir to blend evenly with the vegetables, and cook for 1 minute longer. This step is crucial—cooking the tomato paste intensifies its flavor and removes any metallic taste.
- 5 Add the 2 cans Italian plum tomatoes, 1/4 cup parsley, and 1/4 cup basil. Using a potato masher, mash and stir the tomatoes until the sauce starts to thicken, about 5 minutes over medium-high heat. You want some texture, so don’t mash completely smooth.
- 6 Reduce the heat to low and simmer gently while preparing meatballs, stirring occasionally. This slow simmer allows all the flavors to meld together beautifully.
Form the meatballs
- 7 In a large mixing bowl, use your hands to gently combine the 1 pound ground beef, 1/2 pound Italian sausage, 2 tablespoons each chopped basil and parsley, 1/2 cup chopped mushrooms, 2 eggs, 3/4 cup breadcrumbs, 1/4 cup cheese, 2 teaspoons salt, and 2 teaspoons pepper. Mix just until ingredients are evenly distributed—overmixing will result in tough, dense meatballs.
- 8 Using a small cookie scoop or heaping teaspoon, portion the mixture into 1-inch round meatballs. Roll each portion between your palms to form tight, compact balls, but don’t overwork the mixture. You should have approximately 24-30 meatballs depending on size.
Brown the meatballs
- 9 In a separate wide, shallow cast iron skillet or heavy-bottomed pan, heat 1 tablespoon olive oil on medium-high heat until it shimmers. The pan should be hot enough that the meatballs sizzle immediately when added.
- 10 Working in batches if necessary, brown the meatballs on all sides, about 2 to 3 minutes per side. Don’t crowd the pan—cook them in a single layer for even browning. The goal is a beautiful golden-brown crust that locks in juices.
- 11 The meatballs don’t need to be cooked through at this stage—they’ll finish cooking in the sauce. Towards the end of browning, add a splash of red wine to deglaze the pan, scraping up any browned bits with a wooden spoon.
Finish and simmer the sauce
- 12 Add the 1/4 cup red wine to the simmering sauce and stir in the 1/4 cup grated cheese. Taste and add salt as needed—start with 1 teaspoon and adjust from there.
- 13 Gently add the browned meatballs to the sauce and stir carefully to coat without breaking them. The sauce should just cover the meatballs—if it seems too thick, add a splash of pasta cooking water later.
- 14 Simmer the sauce and meatballs together for 30 to 45 minutes, stirring occasionally with a wooden spoon. This long, gentle simmer is where the magic happens—the meatballs finish cooking while absorbing the rich sauce flavors.
Cook the spaghetti
- 15 While the sauce is simmering, bring a large pot with 4 quarts salted water to a rolling boil (1 tablespoon salt per 2 quarts water). The water should taste like mild seawater—this seasons the pasta from within.
- 16 Add the 1 1/2 pounds pasta to the boiling water, stirring immediately to prevent sticking. Cook uncovered on high heat with a vigorous boil for 8 to 10 minutes, or according to package directions for al dente pasta. Test a strand—it should have a slight firmness when bitten.
- 17 Reserve 1 cup pasta cooking water before draining, then drain the pasta in a colander. Don’t rinse—you want that starchy surface to help the sauce cling.
Serve
- 18 To serve, place a thin layer of sauce on each warmed plate, add a portion of pasta, then top generously with more sauce and 3-4 meatballs per serving. Finish with a generous sprinkle of grated Parmesan-Romano cheese and fresh basil if desired.
Recommended Equipment and Kitchen Tools
Essential Tools (for best results)
- Large heavy-bottomed pot (4-5 quart capacity) – Essential for building the sauce with even heat distribution and preventing burning
- Cast iron skillet or heavy-bottomed pan – Provides superior browning for the meatballs and excellent heat retention
- Potato masher – Perfect for breaking down the tomatoes while maintaining some texture in the sauce
- Large mixing bowls – Needed for combining meatball ingredients without overmixing
Helpful Upgrades
- Cookie scoop or small ice cream scoop – Creates uniform meatball sizes for even cooking, though a spoon works fine
- Wooden spoons and tongs – Wooden spoons won’t scratch your pots, and tongs help turn meatballs gently
- Fine-mesh colander – Ensures proper pasta draining without losing smaller pasta shapes
- Microplane grater – Creates perfectly fine cheese gratings that melt beautifully into the sauce
Nice-to-Have Options
- Pasta serving bowls – Wide, shallow bowls showcase the dish beautifully and keep everything warm
- Ladle – Makes serving the sauce neat and portion-controlled
- Parchment paper – Useful for placing formed meatballs before browning to keep them organized
Recipe Variations and Dietary Modifications
Gluten-Free Adaptation
- Replace 3/4 cup breadcrumbs with gluten-free panko or finely ground gluten-free crackers
- Use certified gluten-free pasta – brands like Barilla and Jovial offer excellent semolina alternatives
- Ensure your Italian sausage is gluten-free, as some contain wheat fillers
- Consider adding an extra egg if meatballs seem too loose with gluten-free breadcrumbs
Dairy-Free Modifications
- Substitute Parmesan-Romano with nutritional yeast (3 tablespoons nutritional yeast for every 1/4 cup cheese)
- Use dairy-free breadcrumbs or make your own from dairy-free bread
- The red wine and olive oil base keeps the sauce naturally dairy-free and rich
Lower-Carb Version
- Replace pasta with spiralized zucchini, spaghetti squash, or shirataki noodles
- Reduce breadcrumbs in meatballs to 1/4 cup and add 1/4 cup almond flour
- Serve over cauliflower rice or roasted vegetables for a complete low-carb meal
Flavor Variations
- Mediterranean twist: Add 2 tablespoons capers and 1/4 cup chopped olives to the sauce
- Spicy version: Include 1/2 teaspoon red pepper flakes and use hot Italian sausage
- Herb-forward: Double the fresh herbs and add 1 tablespoon fresh oregano
- Wine-free option: Replace red wine with additional beef or vegetable broth
Nutritional Information and Health Benefits
Key Nutritional Highlights
Each serving provides approximately 650-700 calories with a balanced macronutrient profile. The combination of ground beef and Italian sausage delivers 35-40 grams high-quality protein per serving, essential for muscle maintenance and satiety. The pasta contributes 65-70 grams complex carbohydrates for sustained energy, while the olive oil provides healthy monounsaturated fats.
Health Benefits of Main Ingredients
The San Marzano tomatoes are rich in lycopene, a powerful antioxidant that becomes more bioavailable when cooked with olive oil. Fresh basil and parsley provide vitamin K, vitamin A, and anti-inflammatory compounds. The cremini mushrooms add selenium, potassium, and B vitamins while contributing umami flavor without extra calories. Extra virgin olive oil contains heart-healthy oleic acid and vitamin E.
Dietary Considerations
This recipe contains gluten (pasta, breadcrumbs) and dairy (cheese), making it unsuitable for those with celiac disease or lactose intolerance without modifications. The dish provides approximately 4-5 grams fiber per serving from the vegetables and pasta. For balanced nutrition, pair with a simple green salad to increase vegetable intake and add vitamin C.
Smart Swaps and Ingredient Substitutions
Common Substitutions:
- Ground beef → Ground turkey, chicken, or plant-based ground meat (adjust cooking time as poultry cooks faster)
- Italian sausage → Additional ground beef with 1 teaspoon each fennel seeds, garlic powder, and paprika
- San Marzano tomatoes → Any high-quality whole canned tomatoes, crushed by hand
- Fresh herbs → 1 tablespoon dried herbs for every 1/4 cup fresh (add with tomatoes, not at the end)
Budget-Friendly Swaps:
- Cremini mushrooms → Regular white button mushrooms or omit entirely
- Fresh herbs → 2 teaspoons dried Italian seasoning mixed into meatballs and sauce
- Red wine → Additional beef broth or even water with 1 teaspoon balsamic vinegar
- Parmesan-Romano blend → Regular Parmesan cheese or even sharp cheddar
Pantry Emergency Substitutions:
- Breadcrumbs → 3/4 cup crushed crackers, cornflake crumbs, or torn bread
- Eggs → 2 tablespoons ground flaxseed mixed with 6 tablespoons water, let sit 5 minutes
- Tomato paste → 6 tablespoons tomato sauce, cook down for 2-3 extra minutes
Pro Tips for Substitutions:
- When using ground poultry, add 1 tablespoon olive oil to the meatball mixture for moisture
- Store leftover wine in ice cube trays for future cooking—perfect portion sizes

Make It Diabetes-Friendly
Pasta & Carb Modifications:
- Replace traditional pasta with shirataki noodles or zucchini spirals to reduce carbs from 65g to 10-15g per serving
- Use whole wheat pasta for additional fiber and slower glucose absorption
- Reduce pasta portion to 1 cup cooked per serving and bulk up with extra vegetables
- Consider lentil or chickpea pasta for added protein and fiber
Portion & Timing Tips:
- Stick to 1 cup pasta and 3-4 meatballs per serving for better blood sugar control
- Estimated 45-50g total carbs with traditional pasta, 15-20g with vegetable substitutes
- Pair with a large green salad dressed with olive oil and vinegar to slow carb absorption
- The high protein content helps stabilize blood sugar when eaten together
Smart Additions:
- Add 2 cups chopped spinach or 1 diced zucchini to the sauce for extra fiber and nutrients
- Include 1 tablespoon ground flaxseed in meatballs for omega-3s and additional fiber
- Serve with roasted broccoli or green beans to increase the meal’s fiber content
Total Carb Reduction: Up to 30-35g carbs saved per serving with vegetable pasta substitutes

Perfect Pairing Suggestions
Beverage Pairings
A medium-bodied Chianti Classico or Sangiovese complements the tomato-based sauce beautifully, while the wine’s acidity cuts through the rich meatballs. For beer lovers, try a Italian Pilsner or amber lager that won’t compete with the complex flavors. Non-alcoholic options include sparkling water with lemon, Italian sodas, or unsweetened iced tea with fresh herbs that cleanse the palate between bites.
Side Dish Recommendations
A crisp Caesar salad or mixed greens with balsamic vinaigrette provides a fresh contrast to the rich sauce. Garlic bread or focaccia are classic choices for sopping up extra sauce. Roasted vegetables like zucchini, bell peppers, or eggplant echo the Italian flavors while adding nutritional variety. Sautéed spinach with garlic offers a simple, elegant green vegetable that pairs naturally.
Complete Meal Ideas
Start with bruschetta or antipasto featuring olives, cheese, and cured meats. For entertaining, serve minestrone soup as a first course. End the meal with light tiramisu, panna cotta, or simply fresh berries with a drizzle of balsamic reduction. This creates an authentic Italian dining experience that flows naturally from course to course.
Occasion Suggestions
Perfect for Sunday family dinners, casual dinner parties, or meal prep sessions. The recipe scales beautifully for holiday gatherings and freezes well for busy weeknight meals. Ideal for comfort food cravings and introducing kids to homemade cooking.
Pro Tips and Troubleshooting
Professional Techniques
Always brown meatballs in batches to avoid overcrowding—this ensures proper caramelization rather than steaming. Save 1 cup pasta cooking water before draining; its starch content helps bind sauce to pasta perfectly. Taste and adjust seasoning at every stage, especially after adding the wine and cheese. Let the finished dish rest for 5 minutes before serving to allow flavors to settle and sauce to thicken slightly.
Common Mistakes to Avoid
Don’t overmix the meatball mixture—this creates dense, tough meatballs. Avoid cooking meatballs completely during browning; they’ll finish in the sauce and stay more tender. Never rinse pasta after draining, as this removes the starch that helps sauce adhere. Don’t skip the wine deglazing step—those browned bits add incredible depth to the final sauce.
Storage and Make-Ahead
Refrigerate leftovers for up to 4 days or freeze for 3 months. The sauce and meatballs actually improve in flavor overnight. Cook pasta fresh when reheating for best texture, or slightly undercook if making ahead. Reheat gently on the stovetop with a splash of broth or pasta water to loosen the sauce.
Recipe Scaling
This recipe doubles perfectly for large gatherings—use a 6-8 quart pot for larger batches. For smaller households, halve the recipe but use the same size pan for proper browning. The sauce base freezes beautifully without the meatballs for quick future meals.
This isn’t just dinner—it’s the kind of meal that transforms an ordinary evening into something special, filling your home with warmth and bringing everyone together around the table for seconds, thirds, and memories that last long after the last bite.