The classic Italian-American dish done right. Use either our basic tomato sauce recipe or marinara recipe for this dish.

What to buy: Meatballs shouldn’t be where you hide second-rate ground meat, so look for quality meat from a good butcher. Our turkey-beef-pork combo tastes great, but any combination will work, even straight ground chuck or ground sirloin. If you can choose, go for the more full-flavored ground turkey thigh meat rather than breast.

Complete the meal with our easy garlic bread recipe.

  • Yields: 10 to 12 servings
  • Difficulty: Easy
  • Total: 1 hr 40 mins

Ingredients (17)

For the meatballs:

  • 1/4 pound stale country bread (such as ciabatta), crust removed and torn into large pieces (about 2 packed cups)
  • 3/4 cup whole milk
  • 2 medium garlic cloves
  • 1 teaspoon fennel seeds
  • 1/2 teaspoon freshly ground black pepper
  • 4 teaspoons kosher salt
  • 1 pound ground beef (ground chuck works great)
  • 1 pound ground pork
  • 1 pound ground turkey (preferably thigh meat)
  • 1/2 medium sweet onion (such as Maui or Vidalia), minced
  • 3 large eggs
  • 6 tablespoons finely chopped fresh Italian parsley leaves (from 1/2 bunch)
  • 1 tablespoon finely chopped fresh oregano (from 1/4 bunch)
  • 6 tablespoons finely grated Parmigiano-Reggiano
  • 8 cups tomato sauce, such as Basic Tomato Sauce

To serve:

  • 1 1/2 pounds dry spaghetti
  • Freshly grated Parmesan cheese (optional)


For the meatballs:

  1. Place torn bread in a small bowl and cover with milk. (Push bread down so it all gets moistened.) Let soak until most of the milk is absorbed and bread is broken down, about 20 minutes.
  2. Meanwhile, place garlic and fennel seeds on a cutting board and sprinkle all of the pepper and salt on top. Chop mixture until it is a rough paste (it will resemble cornmeal).
  3. Place meats in a large bowl and mix until evenly combined, about 3 minutes. Add bread and any remaining milk and mix until bread is fully incorporated (break up any bread chunks). Add onion and mix well. Add eggs and mix until just incorporated. Add garlic-fennel paste, parsley, oregano, and grated cheese and mix until very evenly combined.
  4. Roll a handful of meat mixture between your hands until it’s smooth, compact, and round. (Each meatball should be about 2 inches in diameter.) Place meatball on a dish and repeat until you have used up the meat mixture. (You should have about 30 meatballs.)
  5. Heat a large frying pan over medium-low heat. Once heated, place meatballs in the pan, leaving about 1/4 inch between each one. (You may have to do this in two batches.) Let each meatball brown on one side, and then turn when it is very brown. Keep turning until meatballs are well browned on all sides, about 20 minutes.
  6. Transfer meatballs to a Dutch oven or a large, heavy-bottomed pot with a tightfitting lid, cover with tomato sauce, and bring to a simmer over medium heat. Cook uncovered, stirring occasionally, until meatballs are cooked through, about 30 minutes. The meatballs can be eaten immediately, though they improve in flavor if left to rest in the sauce for 10 to 20 minutes before serving.

To serve:

  1. While the meatballs are cooking, bring a large pot of heavily salted water to a boil. Cook pasta according to the package directions and drain.
  2. Serve pasta with meatballs and their sauce. Top with Parmesan cheese if desired.