Go Back

Authentic Italian Meatballs Recipe with Rich Tomato Sauce - A Cozy Classic the Whole Family Will Love

Prep Time 20 minutes
Cook Time 40 minutes
Total Time 1 hour
Servings 6 servings

Ingredients
  

  • Ground beef (80/20) – 1 lb
  • Ground pork – 1 lb
  • Fresh breadcrumbs – 1 cup (from day-old bread)
  • Whole milk – 1/2 cup
  • Large eggs – 2
  • Grated Parmesan cheese – 1/2 cup
  • Yellow onion – 1 small, grated or very finely minced
  • Garlic – 6 cloves (3 for meatballs, 3 for sauce)
  • Fresh parsley – 1/4 cup, finely chopped
  • Fresh basil – 1/4 cup, torn (plus more for serving)
  • Crushed red pepper flakes – 1/2 tsp (optional)
  • Kosher salt and freshly ground black pepper
  • Olive oil – 3–4 tbsp
  • Dry red wine – 1/2 cup (optional but recommended)
  • Tomato paste – 2 tbsp
  • Crushed tomatoes (San Marzano if possible) – 2 cans (28 oz each)
  • Bay leaf – 1
  • Granulated sugar – 1 tsp (optional, to balance acidity)
  • Spaghetti or your favorite pasta – for serving

Instructions
 

  • Make the panade: In a large bowl, combine the fresh breadcrumbs and milk. Let it sit for 5 minutes until the milk is absorbed and the crumbs are soft. This step keeps the meatballs tender.
  • Build the meat mixture: Add the ground beef, ground pork, eggs, Parmesan, grated onion, 3 minced garlic cloves, parsley, 1 tsp salt, and 1/2 tsp pepper. If using, add a pinch of red pepper flakes. Mix gently with your hands or a fork until just combined. Do not overmix or the meatballs will be dense.
  • Shape the meatballs: Lightly oil your hands and form golf ball–sized balls, about 1.5 inches. You should get 20–24 meatballs. Place them on a parchment-lined sheet pan. Chill for 15 minutes to help them hold shape.
  • Brown the meatballs: Heat 2 tbsp olive oil in a wide, heavy pot over medium heat. Brown the meatballs in batches, turning gently until they develop a deep, golden crust on 2–3 sides. Transfer to a plate. They don’t need to be cooked through yet.
  • Start the sauce: In the same pot, reduce the heat to medium-low. Add another tablespoon of oil if needed, then add 3 minced garlic cloves. Cook 30–60 seconds until fragrant. Stir in tomato paste and cook 1–2 minutes to caramelize it.
  • Deglaze: Pour in the red wine (if using) and scrape up any browned bits. Let it simmer for 1–2 minutes to reduce slightly. Those bits add big flavor.
  • Add tomatoes and season: Stir in the crushed tomatoes, bay leaf, 1 tsp salt, a few grinds of pepper, and a pinch of sugar if the tomatoes taste sharp. Bring to a gentle simmer.
  • Simmer with meatballs: Nestle the browned meatballs into the sauce. Cover partially and simmer on low for 30–40 minutes, gently stirring occasionally, until the meatballs are cooked through and the sauce is thick and glossy.
  • Finish with herbs: Remove the bay leaf. Stir in torn basil and adjust salt and pepper to taste. For extra richness, drizzle a little olive oil over the sauce.
  • Serve: Toss with hot pasta and a splash of pasta cooking water, or serve the meatballs and sauce over polenta or in crusty rolls. Top with extra Parmesan and basil.