Classic Italian Meatballs in Rich Tomato Sauce

My Italian meatballs are tender, soft, and richly flavored, simmered in a thick, satisfying tomato sauce. I soak torn fresh white bread in milk rather than using dry breadcrumbs; fresh bread absorbs more moisture, which helps the meatballs practically melt in your mouth.

Italian meatball recipe in a pan with fresh basil leaves.

Ingredients for Italian Meatballs

A key element of this Italian meatball recipe is the equal mix of ground pork and ground beef. Pork adds fat and moisture while beef contributes a deep savory note. Combined with soaked bread and Parmigiano Reggiano, the texture and flavor are classic and comforting.

Ingredients for Italian meatball recipe on the counter.

Meatball Ingredients

  • Ground pork and ground beef: equal parts — pork for moisture, beef for savory depth.
  • Fresh white bread: torn and soaked in milk so it yields a soft, cohesive texture.
  • Whole milk: softens the bread and adds richness.
  • Eggs: bind the mixture so meatballs hold their shape.
  • Parmigiano Reggiano: finely grated for salty, savory complexity.
  • Fresh parsley and oregano: fresh oregano gives a bright Italian herb note; dried oregano can be used if needed.
  • Kosher salt and black pepper: to season the mixture well.

Tomato Sauce Ingredients

  • Canned tomatoes: diced, crushed, or whole (all work) for a robust sauce.
  • Olive oil: the base for sautéing onions and garlic.
  • Onions and garlic: finely chopped to build flavor.
  • Baking soda: a pinch softens tomato acidity without adding sugar.
  • Fresh basil: optional, for a sweet herbal finish.

Full ingredient quantities appear in the recipe card later in the page.

Variations and Substitutions

Simple adjustments let you adapt this recipe to taste or dietary needs.

  • Baked meatballs: bake at 425°F for 18–20 minutes, then finish in the sauce for ease and less hands-on time.
  • Gluten-free: use gluten-free bread soaked in milk instead of regular white bread.
  • Spicy version: add red pepper flakes to the meat and sauce for heat.
  • Lean alternatives: substitute ground turkey or chicken and add a splash of oil to maintain moisture.
  • Mini meatballs: roll smaller for appetizers or to tuck into baked pasta dishes.

Essential Tools

These basic tools make the process straightforward:

  • Dutch oven: ideal for building and simmering the sauce while the meatballs finish in it.
  • Large skillet: for browning the meatballs to develop color and flavor.
  • Large mixing bowl: to soak the bread and combine the meat mixture gently by hand.
  • Sheet pan: to hold formed meatballs before cooking or chilling.

How to Make Italian Meatballs

Work on the sauce and the meat mixture at the same time so they come together quickly. Below are clear, practical steps to produce tender, flavorful meatballs.

Italian Meatballs recipe steps.
1.
Italian Meatballs recipe steps.
2.
Italian Meatballs recipe steps.
3.
Italian Meatballs recipe steps.
4.
Italian Meatballs recipe steps.
5.
Italian Meatballs recipe steps.
6.
Browned meatballs simmering in the tomato sauce in a Dutch oven.
7.

Soak the Bread

Tear the bread into a bowl and pour the milk over it. Stir and let it sit while you chop onions and garlic. The bread will soften into a paste that keeps the meatballs moist and tender.

Cook the Onions and Garlic

In a Dutch oven, heat olive oil over medium heat. Cook chopped onions until soft, about 6–8 minutes, then add garlic and cook for another minute. Remove half of the onion mixture and stir it into the soaked bread — the rest stays in the pot for the sauce.

Simmer the Sauce

Add tomatoes to the pot with the remaining onion and garlic, then season with salt and a pinch of baking soda to round out acidity. Add basil if using and bring the sauce to a gentle simmer, partially covered. You can blend it smooth or leave it chunky; keep the heat low while you prepare the meatballs.

Mix and Shape

Mix the eggs into the soaked bread, then add the ground pork, ground beef, grated Parmigiano Reggiano, parsley, oregano, salt, and pepper. Combine gently by hand until just mixed — overworking will make the meatballs dense. Form into roughly 2-inch balls; this recipe yields about 24. If you prefer, chill them in the freezer for 5–10 minutes to help them hold shape.

Brown the Meatballs

Heat oil in a large skillet over medium heat and brown meatballs in batches so they sear instead of steam. Turn to color all sides, about 6–8 minutes per batch. Do not crowd the pan.

Simmer Until Tender

Gently transfer the browned meatballs to the simmering sauce, stirring carefully to coat. Partially cover and simmer for about 20 minutes, or until an internal temperature of 165ºF is reached. The gentle simmer keeps them tender and allows flavors to meld.

Taste and Finish

Taste the sauce and adjust seasoning with salt and pepper. A small splash of soy sauce can deepen the savory notes if desired, though it’s optional and nontraditional. Serve with grated Parmigiano and fresh basil.

Italian meatballs served with homemade garlic bread on the side.

Mistakes to Avoid With Homemade Meatballs

A few common missteps can affect texture and flavor. Avoid these to get the best results:

  1. Overmixing: Combine ingredients only until evenly distributed to prevent tough meatballs.
  2. Skipping soaked bread: The milk-soaked bread is essential for moist, tender meatballs.
  3. Crowding the pan: Brown in batches so the meat develops a proper sear.
  4. Using only lean beef: Include pork for fat and moisture; a 50/50 ratio is ideal.
  5. Boiling the sauce hard: A gentle simmer keeps meatballs tender and the sauce smooth.

How to Store and Freeze Meatballs

These meatballs are excellent for make-ahead meals and freeze well.

Storing Leftovers

  • Refrigerate: Store meatballs in sauce in an airtight container for up to 4 days.
  • Keep covered: The sauce protects and preserves moisture and flavor.

Freezing

  • Freeze cooked: Pack meatballs with sauce in airtight containers and freeze up to 3 months.
  • Freeze raw: Freeze shaped raw meatballs on a tray, then transfer to a bag once solid.

Reheating

  • On the stove: Warm gently in sauce over low heat until heated through.
  • From frozen: Thaw overnight in the refrigerator for best texture before reheating, or simmer gently from frozen until hot.
Italian meatball recipe in a pan with a spoon.

What to Serve with Italian Meatballs

With the right accompaniments, meatballs become a complete, comforting meal.

Serve Over Pasta

  • Spaghetti: the classic — spoon sauce and meatballs over nests of noodles.
  • Gnocchi: pillowy gnocchi pairs beautifully with meatballs and sauce for a cozy dish.
  • Baked pasta: fold meatballs into baked pasta for a hearty crowd-pleaser.

Sides and Starters

  • Green salad: a crisp salad balances the richness of meatballs and sauce.
  • Bruschetta or crostini: a light starter that complements the main course.
  • Crusty bread: a sturdy loaf or garlic bread soaks up every bit of sauce.

Tips for the Best Beef and Pork Meatballs

  • Use fresh torn bread: it integrates into the meat for a softer texture than dry crumbs.
  • Balance pork and beef: half and half delivers moisture and robust flavor.
  • Chill briefly before cooking: firming the formed balls helps them hold their shape while browning.
  • Sear for flavor: browning builds a savory crust before simmering in sauce.
  • Gently reduce acidity: a small pinch of baking soda tames sharp tomato acidity for a rounder sauce.

Frequently Asked Questions

Quick answers to common questions about these Italian meatballs.

What makes these meatballs Italian?

The combination of equal parts pork and beef, Parmigiano Reggiano, fresh parsley and oregano, and a simple tomato sauce with garlic and basil gives them their classic Italian flavor and tender texture.

What is the best ratio of beef to pork?

A 1:1 ratio of ground beef to ground pork balances meaty flavor with enough fat for moisture — one pound of each works well for a standard batch.

Why add baking soda to the sauce?

A small pinch of baking soda gently reduces the sharp acidity of canned tomatoes, creating a rounder, sweeter-tasting sauce without adding sugar.

Can I bake the meatballs instead of frying them?

Yes. Bake at 425°F for 18–20 minutes, then finish them in the simmering sauce. Baking is easier and cleaner, while frying yields a more pronounced crust.

Can I use breadcrumbs instead of fresh bread?

You can substitute fine Italian breadcrumbs soaked in milk for torn fresh bread. Fresh bread produces a softer meatball, but good breadcrumbs are an acceptable alternative.

How do I keep meatballs from falling apart?

Mix gently and only until combined, chill shaped meatballs briefly to firm them, and brown properly before simmering in the sauce to help them hold together.

Can I make them ahead?

Yes. Shape meatballs up to a day ahead and refrigerate, or freeze raw or cooked meatballs. Cooked meatballs in sauce reheat very well for meal prep.

What should I serve with them?

Serve over spaghetti, gnocchi, or baked pasta, with a crisp green salad and crusty bread to soak up the sauce.

Other Italian Dinner Ideas

  • The Best Meatball Recipe (another take on classic meatballs)
  • Baked Ziti with Ricotta (baked pasta comfort)
  • Easy Spaghetti with Ground Beef (simple pasta and sauce)
  • Chicken Alfredo (creamy pasta option)
  • Pizza Bowl (fun, hands-on dinner)
  • Recipes With Meat Sauce (ideas for using extra sauce)

Authentic Italian Meatballs (Melt in Your Mouth!)

Summary: Tender meatballs made with equal parts ground pork and beef, Parmigiano Reggiano, fresh oregano, and torn bread soaked in milk. Simmer in a quick tomato sauce for the best results.

Ingredients

  • 1 cup finely torn fresh white bread, crusts removed (or fine Italian breadcrumbs)
  • ½ cup whole milk
  • ½ cup olive oil
  • 2 medium onions, finely chopped
  • 4 tsp minced garlic (about 4 large cloves)
  • 2 cans tomatoes (28 oz each), diced/crushed/whole with juices
  • 2 tsp kosher salt (for sauce)
  • ¼ tsp baking soda
  • 2 sprigs fresh basil (optional)
  • 2 large eggs
  • 1 lb ground pork
  • 1 lb ground beef
  • ¼ cup finely grated Parmigiano Reggiano
  • 2 tbsp minced fresh parsley
  • 2 tsp minced fresh oregano (or ½ tsp dried)
  • 2 tsp kosher salt (for meatballs)
  • ½ tsp black pepper
  • 2 tbsp oil for frying

Instructions

  1. Soak the bread: Combine torn bread and milk in a large bowl; stir and let sit while you prep aromatics.
  2. Sauté aromatics: Heat olive oil in a Dutch oven over medium heat. Cook onions 6–8 minutes until soft, add garlic for 1–2 minutes more. Scoop out half of the mixture and stir into the soaked bread; leave the rest in the pot for the sauce.
  3. Make the sauce: Add tomatoes, salt, baking soda, and basil (if using) to the pot. Bring to a simmer, partially covered. Blend if you want a smooth sauce, or leave it chunky.
  4. Mix meatball mixture: Stir eggs into the soaked bread. Add pork, beef, Parmigiano, parsley, oregano, salt, and pepper. Mix gently by hand until just combined.
  5. Shape: Form into 2-inch balls (about 24). Chill 5–10 minutes if desired to help them hold their shape.
  6. Brown: Heat oil in a large skillet and brown meatballs in batches, turning for even color, 6–8 minutes per batch. Do not crowd the pan.
  7. Simmer: Add browned meatballs to the sauce, stirring gently to coat. Partially cover and simmer about 20 minutes, or until cooked through (165ºF inside).
  8. Finish: Taste and adjust salt. Garnish with fresh Parmigiano and basil before serving.

Notes

  • Make ahead: Shape meatballs up to 24 hours before cooking or freeze raw or cooked meatballs.
  • Baked option: Bake at 425°F for 18–20 minutes, then finish in the sauce.
  • Nutrition: Values are estimates and should be used as a guideline.

Tried this recipe? Leave a comment with your experience or any tweaks you made — feedback helps refine the dish and inspires new variations.