Polpette al Sugo: Tender Herbed Meatballs in Tomato Sauce

Quick Recipe Version (TL;DR)

  • Yield: 6 servings (about 24–26 meatballs, 1.5 inches each)
  • Prep Time: 25 minutes
  • Cook Time: 50 minutes
  • Total Time: 1 hour 15 minutes

Quick Ingredients

  • 1 lb (450 g) ground beef, 80/20
  • 1 lb (450 g) ground pork
  • 3 oz (85 g) day-old bread, crusts removed + 1/2 cup (120 ml) whole milk
  • 2 large eggs
  • 1/2 cup (50 g) finely grated Pecorino Romano
  • 1/3 cup (80 g) whole-milk ricotta (optional, for extra tenderness)
  • 3 garlic cloves (meatballs) + 4 garlic cloves (sauce)
  • 2 tbsp (30 ml) tomato paste
  • 1 small onion
  • 1 can (28 oz/800 g) crushed tomatoes + 1 can (14 oz/400 g) passata
  • Dry white wine, 1/2 cup (120 ml), optional
  • Fresh parsley and basil; bay leaf
  • Extra-virgin olive oil; kosher salt; black pepper; dried oregano; red pepper flakes
  • Pasta (1 lb/450 g) or crusty bread, for serving

Do This

  • 1. Soak bread in milk 5 minutes; mash into a smooth panade.
  • 2. Combine beef, pork, panade, eggs, Pecorino, ricotta, parsley, basil, garlic, 1 tsp salt, pepper, oregano; mix gently. Chill 10 minutes.
  • 3. Start sauce: sauté onion and sliced garlic in 2 tbsp oil; stir in tomato paste 1 minute; deglaze with wine; add tomatoes, passata, bay leaf; simmer on low.
  • 4. Shape 24–26 meatballs (about 1.5 inches, 30–35 g each).
  • 5. Brown meatballs in 2–3 tbsp oil over medium-high, 2–3 minutes per side; transfer to sauce.
  • 6. Simmer gently 25–30 minutes, partially covered, until tender and 165°F/74°C inside; add basil.
  • 7. Cook pasta until al dente; toss with some sauce. Serve with meatballs, more sauce, and Pecorino.

Why You’ll Love This Recipe

  • Soft, herbed meatballs thanks to a milk-soaked bread panade and gentle mixing.
  • Rich, garlicky tomato sugo that clings beautifully to pasta or soaks into crusty bread.
  • Balanced beef–pork blend for flavor, juiciness, and that classic Italian warmth.
  • Flexible: make ahead, freeze well, and scales easily for a crowd.

Grocery List

  • Produce: 1 small yellow onion, garlic (7 cloves), fresh parsley, fresh basil
  • Dairy: Whole milk, Pecorino Romano, ricotta (optional)
  • Pantry: Ground beef (80/20), ground pork, extra-virgin olive oil, tomato paste, crushed tomatoes (28 oz), passata (14 oz), dry white wine (optional), bay leaf, dried oregano, red pepper flakes, kosher salt, black pepper, day-old bread, spaghetti (or other pasta), crusty bread

Full Ingredients

For the Meatballs

  • 1 lb (450 g) ground beef, 80/20
  • 1 lb (450 g) ground pork
  • 3 oz (85 g) day-old country bread, crusts removed and torn
  • 1/2 cup (120 ml) whole milk
  • 2 large eggs
  • 1/2 cup (50 g) finely grated Pecorino Romano (plus extra for serving)
  • 1/3 cup (80 g) whole-milk ricotta (optional, but recommended for tenderness)
  • 3 garlic cloves, finely minced or grated
  • 2 tbsp (8 g) finely chopped fresh flat-leaf parsley
  • 1 tbsp (4 g) finely chopped fresh basil (or 1 tsp dried)
  • 1 tsp fine sea salt
  • 1/2 tsp freshly ground black pepper
  • 1/2 tsp dried oregano
  • 1/4 tsp red pepper flakes (optional)
  • 2–3 tbsp (30–45 ml) extra-virgin olive oil, for browning

For the Garlicky Tomato Sauce

  • 2 tbsp (30 ml) extra-virgin olive oil
  • 1 small yellow onion, finely chopped (about 1 cup / 150 g)
  • 4 garlic cloves, thinly sliced
  • 2 tbsp (30 g) tomato paste
  • 1/2 cup (120 ml) dry white wine or water
  • 1 can (28 oz/800 g) crushed tomatoes
  • 1 can (14 oz/400 g) tomato passata (or tomato purée)
  • 1 bay leaf
  • 1 tsp kosher salt, plus more to taste
  • 1/2 tsp freshly ground black pepper
  • 1/4–1/2 tsp red pepper flakes (optional)
  • 1 tsp sugar (optional, only if needed for acidity)
  • 2–3 fresh basil sprigs (plus more for garnish)
  • Parmesan rind, optional (adds depth)

To Serve

  • 1 lb (450 g) spaghetti or rigatoni, cooked al dente
  • Crusty bread (optional, for dunking)
  • Extra Pecorino Romano, finely grated
  • Extra basil and parsley, chopped
  • Extra-virgin olive oil, for finishing
Polpette al Sugo: Tender Herbed Meatballs in Tomato Sauce – Closeup

Step-by-Step Instructions

Step 1: Make the panade

Add the torn bread to a bowl and pour in the milk. Let it soak for 5 minutes, then mash with a fork into a smooth paste. This panade keeps the meatballs soft and moist.

Step 2: Mix the meat gently

In a large bowl, combine the beef, pork, panade, eggs, Pecorino, ricotta (if using), minced garlic, parsley, basil, salt, pepper, oregano, and red pepper flakes. Use your hands or a fork to mix just until combined—about 45–60 seconds. Do not overwork. Chill the mixture for 10 minutes to firm slightly while you start the sauce.

Step 3: Start the garlicky sugo

In a wide Dutch oven or deep sauté pan, warm 2 tbsp olive oil over medium heat. Add the onion and cook until translucent, 5–6 minutes. Stir in the sliced garlic and cook 30–45 seconds until fragrant. Add tomato paste and cook, stirring, 1 minute to caramelize. Deglaze with wine (or water), scraping up any browned bits. Add crushed tomatoes, passata, bay leaf, a pinch of salt and pepper, and the Parmesan rind if using. Bring to a gentle simmer over medium, then reduce to low so the sauce bubbles softly.

Step 4: Shape the meatballs

With lightly oiled or damp hands, shape the mixture into 24–26 meatballs, about 1.5 inches wide (30–35 g each). Place them on a parchment-lined tray.

Step 5: Brown the meatballs

Heat 2–3 tbsp olive oil in a large skillet over medium-high heat until shimmering. Brown meatballs in batches, 2–3 minutes per side, turning gently to avoid flattening. You want light browning, not fully cooked through. Transfer browned meatballs directly into the simmering sauce.

Step 6: Simmer until spoon-tender

Partially cover the pot and simmer on low for 25–30 minutes, occasionally turning meatballs so they cook evenly. Keep the sauce at a gentle blip; avoid a rolling boil. Meatballs are done when very tender and the internal temperature reaches 165°F (74°C). Stir in basil sprigs during the last 5 minutes. Taste and adjust salt, pepper, and a pinch of sugar if needed.

Step 7: Serve over pasta or with bread

Cook pasta in well-salted boiling water (1 tbsp kosher salt per 4 quarts/3.8 L) until al dente, 8–10 minutes depending on shape. Reserve 1/2 cup pasta water. Toss pasta with a ladle of sauce (and a splash of pasta water if needed). Plate pasta, top with meatballs and more sugo. Finish with grated Pecorino, chopped herbs, and a drizzle of olive oil. Alternatively, serve meatballs and sauce in warm bowls with crusty bread for dunking.

Pro Tips

  • Use the panade: milk-soaked bread is the secret to soft, tender polpette—do not skip it.
  • Mix gently: overmixing compacts the meat; stop as soon as everything looks evenly combined.
  • Brown, don’t cook through: quick browning adds flavor; the sauce does the gentle cooking.
  • Simmer low and slow: a gentle simmer prevents toughness and keeps the sauce silky.
  • Parmesan rind: add one to the sauce for extra savoriness; remove before serving.

Variations

  • All-beef or classic trio: swap pork for more beef, or use a beef–pork–veal mix (about 1/3 each) for ultra-delicate meatballs.
  • Spicy Calabrian: add 1–2 tsp Calabrian chili paste or 1 tbsp finely chopped nduja to the sauce for heat and depth.
  • Gluten-free: use gluten-free bread or gluten-free panko for the panade and confirm your tomato products are GF.

Storage & Make-Ahead

Refrigerate cooked meatballs in sauce for up to 4 days. Reheat gently over low heat until hot (165°F/74°C). Freeze cooked meatballs and sauce in airtight containers for up to 3 months; thaw overnight in the fridge and reheat on the stovetop. For meal prep, mix and shape meatballs up to 24 hours ahead; cover and refrigerate. You can also freeze the raw, shaped meatballs on a tray until solid, then bag and freeze for up to 3 months—brown straight from frozen and extend the simmer by 5–10 minutes.

Nutrition (per serving)

Approximate, for meatballs with sauce only: 520 calories; 31 g fat; 20 g carbohydrates; 39 g protein; 2 g fiber; 1,100 mg sodium. With 75 g dry pasta per person, add roughly 210 calories and 42 g carbs.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *


Promotional Banner X
*Sponsored Link*