1 1/2 cups fresh bread crumbs
1/2 cup milk
4 oz. finely chopped prosciutto
1 lb. ground beef
1 lb. ground pork
2 eggs, lightly beaten
1/2 cup grated Parmigiano-Reggiano cheese
2 Tbs. finely chopped fresh flat-leaf parsley
2 tsp. finely chopped fresh oregano
6 Tbs. finely chopped fresh basil
5 garlic cloves, minced
1 tsp. kosher salt, plus more, to taste
1/2 tsp. freshly ground pepper, plus more, to taste
5 Tbs. olive oil
1 yellow onion, diced
1 can (28 oz.) crushed tomatoes with juices
In a small bowl, combine the bread crumbs and milk and let stand for 10 minutes.
In a large bowl, combine the prosciutto, ground beef, pork, eggs, cheese, parsley, oregano, 3 Tbs. of the basil, 3 of the minced garlic cloves, the 1 tsp. salt and the 1/2 tsp. pepper. Add the soaked bread crumbs and mix gently until combined. Divide the meat mixture into 1/4-cup portions and roll into balls. Place on a parchment-lined baking sheet.
In an 11-inch skillet over medium-high heat, warm 2 Tbs. of the olive oil. Working in 2 batches, brown the meatballs on all sides, about 8 minutes per batch. Transfer to a plate.
In the same pan over medium heat, warm the remaining 3 Tbs. olive oil. Add the onion and cook, stirring occasionally, until softened and translucent, about 8 minutes. Add the remaining 2 minced garlic cloves and cook for 1 minute. Add the tomatoes and their juices, and season with salt and pepper. Bring to a simmer and cook until the sauce thickens, about 20 minutes. Stir in the remaining 3 Tbs. basil.
Add the meatballs to the pan and cook, turning occasionally and basting with the sauce, until cooked through, about 30 minutes.