
Pork and Breadcrumb Meatballs with Tomato Sauce
Tender, juicy Italian-style meatballs made with ground pork and breadcrumbs, simmered in a bright tomato sauce. These budget-friendly meatballs are flavorful enough to serve on their own with pasta or crusty bread, or use them in soups and sandwiches. The sauce develops rich depth as it simmers, binding the meatballs together.
- Prep
- 15 min
- Cook
- 25 min
- Wait
- 5 min
- Total
- 45 min
- Makes
- 12–14 meatballs (serves 4 as a main, or 6–8 as an appetizer)
Steps
Before you start
- Measure all ingredients before you start mixing
- If using canned tomatoes, have them open and ready
- Use ground pork that is not too lean (15–20% fat is ideal for tender meatballs)
Soak breadcrumbs
- In a small bowl, pour the milk over the breadcrumbs.
- Let sit for 1 minute to soften and absorb the milk fully.
- This keeps the meatballs tender and prevents them from becoming dense or tough.
+ Show details− Hide details
Ready when: Breadcrumbs are soft and moistened
Tip: Don't skip this step; dry breadcrumbs make heavy meatballs.
Mix the meatball base
- In a large bowl, combine the ground pork, soaked breadcrumb mixture, egg, minced garlic, grated Parmesan, salt, black pepper, and dried oregano.
- Using your hands, gently fold and mix until just combined—do not overmix.
- Overmixing develops gluten in the breadcrumbs and toughens the meatballs.
+ Show details− Hide details
Ready when: Mixture is evenly combined but not compacted
Tip: Mix with your hands rather than a spoon—you can feel when you've mixed enough without overdoing it.
Form meatballs
- Wet your hands slightly so the mixture doesn't stick.
- Divide the mixture into 12–14 equal portions (about 1.5 oz / 40 g each) and roll each into a ball roughly the size of a golf ball.
- Place them on a plate or cutting board.
+ Show details− Hide details
Ready when: Meatballs are evenly shaped and round
Tip: Roll gently—tight, compact meatballs will be dense. Slightly loose, delicate balls will stay tender.
Heat oil and brown meatballs
- Heat the olive oil in an 8-inch (20 cm) skillet over medium-high heat until it shimmers (about 1 minute).
- Working in batches to avoid crowding, add the meatballs and brown them on all sides, about 4–5 minutes total per batch.
- They don't need to be fully cooked through; just golden-brown on the outside.
- Transfer browned meatballs to a plate.
+ Show details− Hide details
Ready when: Meatballs are golden brown on all sides
Tip: Don't stir them constantly; let each side sit for 30 seconds to develop color and a light crust.
Make the tomato sauce
- In the same skillet, reduce the heat to medium.
- Add the smashed garlic cloves and sauté for about 30 seconds until fragrant, stirring constantly so the garlic doesn't burn.
- Add the crushed tomatoes and tomato paste (if using), along with a pinch of red pepper flakes if you like heat.
- Stir in the sugar (if using) to balance acidity.
- Simmer gently for 1 minute, stirring occasionally.
+ Show details− Hide details
Ready when: Sauce is bubbling gently and fragrant
Tip: Add a small splash of water (2–3 tbsp / 30–45 ml) if the sauce seems too thick at this point.
Simmer meatballs in sauce
- Return the browned meatballs to the skillet, nestling them gently into the sauce.
- Bring the sauce to a gentle simmer over medium heat.
- Reduce the heat to medium-low and simmer uncovered for 12–15 minutes, stirring occasionally and gently turning the meatballs every few minutes so they cook evenly and are fully submerged in sauce.
- The meatballs are done when an instant-read thermometer inserted into the center of the largest meatball reads 160°F (71°C).
+ Show details− Hide details
Ready when: Internal temperature reaches 160°F (71°C), sauce bubbles gently at the edges
Tip: Keep the heat low—a rolling boil will break apart the meatballs and make the sauce splatter.
Finish and serve
- Remove the skillet from the heat.
- Taste the sauce and adjust seasoning with a pinch of salt and black pepper if needed.
- Tear or slice the fresh basil leaves (if using) and scatter them over the meatballs just before serving.
- Serve hot over pasta, with crusty bread, or on their own.
+ Show details− Hide details
Tip: Add fresh basil at the end to preserve its bright flavor and aroma.
Good to know
Tips
- Don't overmix the meatball mixture—mix just until the ingredients are evenly distributed. Overmixing develops gluten in the breadcrumbs and makes the meatballs tough and dense.
- For extra-tender meatballs, gently wet your hands between rolling each ball so the exterior stays slightly moist and delicate.
- If you want a richer sauce, stir in 2–3 tablespoons of heavy cream or a splash of whole milk at the end, after removing from heat. This mellows the acidity and adds richness.
- Brown the meatballs in batches rather than overcrowding the pan. Overcrowding lowers the oil temperature and causes them to steam instead of brown, resulting in pale, bland meatballs.
Make ahead
Prepare the meatball mixture up to 4 hours ahead and refrigerate it in a covered bowl. Form into balls and brown just before simmering in sauce. Alternatively, brown and freeze the raw meatballs (on a tray, then in a freezer bag) for up to 3 months; increase the simmering time by 5–7 minutes when cooking from frozen.
Storage & reheating
Store leftovers in an airtight container in the refrigerator for up to 3 days. Reheat gently over medium-low heat in a covered skillet with a splash of water, stirring occasionally, until warmed through (about 10 minutes). Freeze in a freezer-safe container for up to 3 months. Thaw overnight in the refrigerator before reheating. The meatballs taste even better the next day as the flavors deepen.
Substitutions
- ground pork (not too lean) → Ground beef, ground lamb, or a 50/50 blend of ground pork and ground beef. Beef will be slightly richer; lamb adds a deeper, earthier flavor. Reduce cooking time by 1–2 minutes if using leaner beef.
- Parmigiano-Reggiano cheese, finely grated → Pecorino Romano or Grana Padano. Pecorino Romano is saltier and slightly sharper; reduce salt in the meatball mixture by ¼ tsp. Grana Padano is milder and interchangeable.
- plain panko or regular breadcrumbs → Finely grated fresh bread, crushed saltines, or rolled oats. Fresh bread works best for the most tender texture. Saltines add a subtle salt note (reduce added salt slightly). Oats create a slightly nuttier flavor and slightly denser texture.
- canned crushed tomatoes (14.5 oz / 411 g can) → Tomato purée (8 oz / 227 g) mixed with 6 oz / 177 ml water, or fresh crushed tomatoes if in season. Fresh tomatoes will be less acidic; you may need to add a pinch more sugar. Tomato purée is more concentrated, so start with less and adjust to taste.
More meatballs
See all →Find more like this
- Meal
- Dinner
- Cuisine
- Italian
- Main ingredient
- Ground PorkTomatoes
- Method
- Stovetop





