ClockPlayEmailInstagramLinkSMSTwitterYouTubeWhatsAppXSearchClockRight ArrowArrow DownCaret downCaret upCaret leftCaret rightHamburger MenuPop OutThumbs upThumbs up buySpeechAudio onReplayPlusMinusSad smiley faceNo resultsSwapMoreYour grocery bagSuccessShop Tasty MerchYour Cart (empty)Your CartFacebookPinterestEmailPrintSmsTwitterWhatsappCommentTips HighlightsRed XGreen Check
Skip to Content

The Ultimate Meatballs

These ultimate meatballs are slow-simmered and deeply savory, everything you want in a classic Italian-style comfort dish. A rich tomato sauce — built with aromatics, herbs, butter, and San Marzano tomatoes — gently cooks down until velvety and flavorful. The meatballs themselves are ultra-tender, thanks to a milk-soaked bread base and a blend of beef, pork, and finely chopped mortadella, then seared for maximum flavor before finishing in the sauce. The result is juicy, melt-in-your-mouth meatballs with a luxurious sauce that tastes like it’s been cooking all day.

Tasty Team
Total Time

2 hr 20 min

2 hr 20 min

Prep Time

20 minutes

20 min

Cook Time

2 hr

2 hr

The Ultimate Meatballs
Total Time

2 hr 20 min

2 hr 20 min

Prep Time

20 minutes

20 min

Cook Time

2 hr

2 hr

Ingredients

for 6 servings

Sauce:

  • ¼ cup olive oil
  • 1 medium yellow onion, finely chopped
  • 2 ¼ kosher salts, divided
  • 6 garlic cloves, minced
  • 1 tablespoon fresh thyme leaves
  • 1 tablespoon minced fresh oregano
  • ½ teaspoon dried red pepper flakes (optional)
  • 2 tablespoons tomato paste
  • 2 (28-ounce) whole peeled tomato cans (preferably San Marzano)s, undrained
  • ½ cup (1 stick) unsalted butter
  • 1 teaspoon granulated sugar
  • 2 fresh basil sprigs

Meatballs:

  • 3 white bread slices
  • ¼ cup whole milk
  • 8 oz 80/20 ground pork
  • 8 oz 80/20 ground beef
  • 2 oz mortadella, finely chopped
  • ½ cup grated Pecorino Romano cheese
  • 2 tablespoons Chopped fresh parsley
  • 1 large egg
  • 2 garlic cloves, grated
  • 1 shallot, grated
  • 1 teaspoon kosher salt, plus more to taste
  • ¾ teaspoon dried Italian seasoning
  • ¼ teaspoon freshly ground black pepper, plus more to taste
  • avocado oil, for frying

Nutrition Info

  • Calories 480
  • Fat 30g
  • Carbs 19g
  • Fiber 5g
  • Sugar 6g
  • Protein 30g

Estimated values based on one serving size.

Preparation

  1. Make the sauce: Heat the olive oil in a large pot or Dutch oven over medium until the oil shimmers. Add the onion and ¼ teaspoon of the salt; cook, stirring occasionally, until the onion is soft and translucent, 5–7 minutes. Add the garlic, thyme, oregano, and red pepper flakes; cook, stirring constantly, until fragrant, about 1 minute. Stir in the tomato paste; cook, stirring constantly, until the paste turns brick red and is lightly caramelized, 2–3 minutes. Add the canned tomatoes, crushing them by hand as they go into the mixture, along with their juices. Add the butter, sugar, basil sprigs, and remaining 2 teaspoons salt. Bring to a gentle simmer over medium heat. Reduce the heat to low; simmer, uncovered, until the flavors meld, about 30 minutes, uncovering occasionally to stir.
  2. Meanwhile, make the meatballs: Tear the bread into bite-size pieces, and place them in a large bowl. Pour the milk over the bread, and let it stand until the liquid is fully absorbed and the bread looks puffed, 2–3 minutes. Mash the mixture with your hands or a fork until it breaks down into a soft, paste-like mixture. Add the pork, beef, mortadella, cheese, parsley, egg, garlic, shallot, salt, Italian seasoning, and pepper. Gently mix just until combined, being careful not to overmix.
  3. Heat a large skillet over medium-high, and add a thin layer of avocado oil to lightly coat the bottom. Shape about a 2-inch-round meatball from the meatball mixture, and cook it in the skillet until cooked through, 1–2 minutes per side. Taste the meatball, and add any additional salt and pepper to the remaining meatball mixture as desired.
  4. Wet your hands with water; roll the meatball mixture into golf ball-sized meatballs, and set aside. Working in batches, add about 3 tablespoons avocado oil to the large skillet, and cook the meatballs over medium-high until deeply browned all over, 5–6 minutes per batch. Transfer the cooked meatballs to a rimmed baking sheet, and repeat with the remaining meatballs, adding more avocado oil as needed.
  5. Gently nestle the cooked meatballs in the sauce, turning to coat. Partially cover the pot, and cook at a very low simmer, stirring occasionally, until the meatballs are tender and the sauce is deeply flavored, about 1 hour.
  6. Remove and discard the basil stems from the mixture. Taste the mixture, and adjust the salt and pepper to taste. Serve.
  7. Enjoy!
  8. Busy? Plan your meals for the week using our exclusive meal planner tool in the Tasty app. Download now and get organized.
The Ultimate Meatballs