Is This the World's Best Spaghetti and Meatballs Recipe?


By Rhoda Boone

Even mediocre meatballs taste pretty good to me, but when the stars align and I taste a bowl of moist, robust meatballs; a well-balanced tomato sauce; and perfectly al dente pasta, the experience is downright transcendent. Happily, it turns out that achieving spaghetti and meatball bliss doesn’t require an Italian grandmother or a trip to your favorite red sauce restaurant; it can happen at home. I know, because I’ve spent the past few weeks in the Epicurious test kitchen, creating the best-ever version of this comfort food classic.

I began by cooking batches of the six highest-rated spaghetti and meatball recipes on our site. After the kitchen team scrutinized what we liked (and didn’t like) about each one, I headed back to the kitchen to create a Frankenrecipe—a recipe inspired by our favorite elements from each rendition. After several rounds of testing (trust me, no one around here complained), I created a recipe for Our Favorite Spaghetti and Meatballs. Here’s what it entailed:


The tomato sauce recipe from The Frankies Spuntino cookbook won our taste test with its concentrated tomato flavor and garlicky undertones. We used this recipe as a template for our version, but wondered if simmering the tomato sauce for 4 hours was truly necessary. After simmering batches of tomato sauce for 1, 2, 3, and 4 hours, my tasters were split over the 2-hour sauce (flavorful while maintaining a nice acidity from the tomatoes) and the 3-hour sauce (smooth, mellow, and sweet). (Personally, I think the sweet spot is at 2 ½ hours.) The 1-hour sauce was underdeveloped; the 4-hour was too thick and muted for spaghetti and meatballs. A hit of red pepper flakes, dried oregano, and bay leaves enhances the tomato flavor and a healthy dose of basil leaves brings a little freshness at the end of simmering.


Our taste test brought all kinds of meat blends to the table. We tried just ground beef, beef and pork (with and without veal), beef and bacon, and Italian sausage. A Gourmet recipe for Spaghetti and Meatballs provided our favorite combination of beef, pork, and veal, which also happens to be the most traditional mix for meatballs. The veal brings an unparalleled tenderness to the blend, but if you don’t like veal or can’t find it, simply increase the amounts of both the beef and pork.



Breadcrumbs make a big difference in the texture of meatballs. We tried store-bought, fresh, as well as panko (Japanese breadcrumbs), but our favorite consistency came from day-old bread that’s been torn and soaked in milk. Again, we have the same Gourmet recipe for Spaghetti and Meatballs to thank for this revelation. The day-old (but not oven-dried or toasted) bread gives the meatballs a tenderness that we loved.

We also tackled the cheese. Ricotta added moisture and tenderness, and pecorino added a salty sharpness, but we liked the approach of this Bon Appétit recipe, which incorporates a healthy dose of parmesan.

As for seasoning, we knew we wanted to incorporate classic dried oregano and some heat from red pepper flakes. But what about a subtle background flavor that rounds out the whole dish? When we tried the Classic Beef Meatballs from the Meatball Shop Cookbook we knew we had found our secret flavor booster: ground fennel seeds. (We also added a little parsley, for freshness and color.)

Pro tip: check the seasoning of your meat mixture before you start rolling your balls. Pinch off a bit of the mixture and brown it in some oil in a skillet. Taste for seasoning and add accordingly. This way you’ll know your meatballs are perfectly seasoned before you cook the whole batch.


Just like a burger, loosely packed meatballs have a more pleasant texture than ones that are packed too tightly. Use your hands to combine the meat mixture gently and don’t overmix. Keep a bowl of cool water next to your work station to moisten your hands as needed. Roll the meat mixture into balls in between your palms (we like golf-ball sized balls for serving with spaghetti).



These recipes were all over the map when it came to cooking method. Some were baked, some were simmered in sauce, but others still used the cooking method I like the best: browning the meatballs in a skillet first, then simmering them in tomato sauce to cook through. Searing the meatballs caramelizes the outer surface and lends a richer flavor to the finished dish.


If you are putting this much love and care into your sauce and meatballs, make sure you treat your spaghetti right, too. Boil it in heavily salted water and undercook it ever so slightly. Don’t forget to save some of the pasta water—it’s gold for finishing your dish. Heat the pasta with some of the sauce (this is where you’ll be glad you undercooked it a little), add a little cooking water to loosen, then let it soak up all the meaty glory.



For the tomato sauce:

  • ½ cup olive oil

  • 12 garlic cloves, peeled

  • 4 (28-ounce) cans whole tomatoes

  • ½ teaspoon red pepper flakes

  • 2 dried bay leaves

  • 2 teaspoons kosher salt

  • 1 ½ teaspoons dried oregano

  • ½ teapoon freshly ground pepper

  • 2/3 cup (packed) basil leaves

For the meatballs:

  • 1 cup roughly torn day-old Italian bread

  • 1 cup whole milk

  • 8 ounces ground beef

  • 8 ounces ground pork

  • 8 ounces ground veal

  • 3 large eggs, beaten to blend

  • 4 garlic cloves, finely chopped

  • 1 ¼ cups grated Parmesan, divided

  • ¾ cup coarsely chopped fresh parsley, divided

  • 1 teaspoon kosher salt, plus more

  • 1 teaspoon dried oregano

  • ½ teaspoon freshly ground black pepper

  • ½ teaspoon ground fennel seeds

  • ½ teaspoon red pepper flakes

  • ¼ cup olive oil

  • 1 pound spaghetti


Make the tomato sauce:
Heat a large, wide pot over medium-low and add oil and garlic. Cook, stirring occasionally, until garlic is golden brown on all sides (if it starts to burn, reduce heat), 8–10 minutes. While garlic cooks, break up tomatoes into smaller pieces with a paring knife or kitchen shears. When garlic is almost ready, add red pepper flakes and cook, stirring occasionally, until toasted and fragrant, about 30 seconds. Add tomatoes, bay leaves, salt, oregano, and pepper and stir, breaking up tomatoes with a wooden spoon, until well combined.

Increase heat slightly and gently simmer, stirring occasionally, until sauce has thickened and flavors have concentrated, at least 2 hours and up to 3 hours.

Meanwhile, make the meatballs:
Place bread in a medium bowl, add milk, and let rest until moistened, about 5 minutes. Squeeze bread with your hands to remove excess milk, discarding milk. Tear bread into smaller, pea-size pieces and return to the medium bowl.

Combine beef, pork, veal, eggs, garlic, 1 cup Parmesan, ½ cup parsley, 1 tsp. salt, oregano, pepper, fennel, and red pepper flakes in a large bowl. Using your hands, gently mix in bread until ingredients are evenly distributed (do not overmix).

Fill a small bowl with cool water. Moisten your hands and roll meat mixture between palms into golf-ball-sized balls, occasionally moistening hands as needed. Place meatballs on a rimmed baking sheet-you should have about 24-and chill until sauce is ready.

Finish the sauce and cook the meatballs and pasta:
After 2–3 hours of simmering, pluck out bay leaves and add basil. Using an immersion blender (or transfer sauce to a food processor or blender, working in batches, if necessary), purée until slightly chunky but not smooth. Reserve 1 ½ cups sauce; keep remaining sauce in pot warm over very low heat.

Heat a large skillet over medium-high and add oil. Once hot, add meatballs to skillet (without crowding) and work in batches to brown on all sides, turning frequently, about 5 minutes per batch. Return meatballs to baking sheet as you brown them.

Once all meatballs are browned, add them to pot with tomato sauce. If your pot is not large enough, divide sauce and meatballs between 2 pots. Increase heat to medium-low, cover, and simmer until meatballs are cooked through, 10–15 minutes.

Meanwhile, cook spaghetti in a large pot of boiling salted water, stirring occasionally, until al dente. Drain, reserving 1 cup pasta cooking liquid, and return pasta to pot over medium-low heat. Spoon reserved 1 ½ cups sauce over pasta and toss to coat. Add pasta cooking liquid, ¼ cup at a time, as needed to loosen sauce and coat pasta.

Divide pasta among plates and top with meatballs and remaining sauce. Sprinkle with remaining ¼ cup Parmesan and ¼ cup parsley

More from Epicurious:

20 Must-Try Ways to Pair Items You Already Have In Your Pantry

The 57 Best Cooking Tips of All Time