Recipe by

Visit website

Meatballs al forno, made with pork, veal with pancetta, are world famous and rightly so, I guarantee they'll be the best meatballs you've ever had!


makes 24 meatballs

Total time

0 minutes




  • ¾ cup diced day- old, crustless bread
  • ¼ cup whole milk
  • 1½ cups freshly grated Parmigiano- Reggiano (about 6 ounces), plus a wedge of Parmigiano-Reggiano for gratin
  • ½ large yellow Spanish onion (minced)
  • ⅔ cup finely chopped fresh Italian parsley leaves
  • 2 extra- large eggs
  • 4 large garlic cloves (minced)
  • 1 teaspoons pure ground red pepper flakes, plus more to taste
  • 1½ teaspoons kosher salt
  • 1 teaspoon freshly ground black pepper
  • 1 pound ground pork
  • 1 pound ground veal (I used ground Black Angus beef)
  • 6½ ounces pancetta, finely chopped or minced in a miniature food processor
  • all-purpose flour, for dredging (about 1 cup)
  • ¼ cup extra- virgin olive oil, plus more as needed
  • 1 jar (25-28 ounces) of your favorite tomato sauce
  • 3 dried bay leaves
  • garnish
  • more Parmesan
  • fresh thyme leaves or more chopped parsley


  1. set oven to 350F
  2. Put the day- old bread in a small bowl, pour in the milk, and set aside to soak the bread for about 5 minutes.
  3. Combine the Parmigiano-Reggiano, onion, parsley, eggs, garlic, ground red pepper flakes, salt, and pepper in a large bowl and stir to thoroughly combine. Add the pork, veal (or beef), and pancetta.
  4. Squeeze the bread in your fist to press out the milk, discarding the excess milk. Add the bread to the bowl with the other ingredients and use the tips of your fingers as if you were playing the piano to combine the ingredients without overworking them, which makes for heavy meatballs. (I mix everything up in my KitchenAid mixer.)
  5. Divide the meat into 2-ounce (give or take) portions and roll each portion into a ball. I use a 1/4 cup to scoop the meat mixture.
  6. Pour the flour into a large bowl for dredging. Dredge the meatballs in the flour, shake off any excess, and place them on a baking sheet. Cover the pan with plastic wrap and refrigerate the meatballs for at least an hour or overnight. (Refrigerating allows the fat in the meats to solidify so the meatballs maintain their shape when cooked.)
  7. Pour the olive oil into a large Dutch oven or ovenproof skillet and add more if needed to cover the bottom of the pan to 1?4 inch deep. Heat the oil over medium-high heat until it is almost smoking and slides easily in the pan, 2 to 3 minutes. Working in two batches, place the meatballs in a single layer in the pan and sear them until they are lightly browned all over, being gentle when turning them so they don't fall apart. Remove the meatballs to a plate.
  8. Add more oil to the pan and heat it until it's almost smoking before cooking the second batch in the same way. Turn off the heat and wipe the oil and browned bits from the pan. Return the meatballs to the pan. Pour the tomato sauce over the meatballs.
  9. The amount of sauce you need will vary depending on the size of the vessel you are pouring it into, so add more or less as needed; you want them to be submerged but not drowning in the liquid. Add the bay leaves and and place the meatballs in the oven to braise for 1 hour. Remove the meatballs from the oven and allow them to rest in the sauce for at least 10 minutes.
  10. To serve, remove the meatballs to a plate and skim off and discard the fat from the sauce. Spoon a thin layer of sauce on a serving platter or individual plates, lay the meatballs on top of the sauce, serving 3 meatballs if you are using individual plates. Grate a thin dusting of Parmigiano-Reggiano over the meatballs. Garnish with fresh thyme or more parsley.
  11. View the recipe instructions at The View From the Great Island

View this recipe plus 5,000 more in our FREE app

Preview in browser for now