Sauces & Condiments
This pork meatballs in tomato sauce recipe delivers restaurant-quality results with tender meatballs and a rich, herb-infused sauce that clings to every bite. After years of perfecting the technique at The Smoky Pig, I've simplified it for home cooks—no fancy equipment needed, just a few essential steps and quality ingredients.
The secret lies in the balance of herbs and slow simmering, creating a sauce that's both vibrant and deeply flavorful.
The meatballs themselves are foolproof—no breadcrumbs or binders required. We'll use ground pork shoulder for maximum flavor and juiciness, combined with fresh herbs and just enough egg to hold them together. The tomato sauce simmers low and slow, allowing the flavors to meld perfectly while keeping the meatballs tender.
This method ensures the sauce absorbs into every bite, creating a dish that's hearty yet refined.
By the time you're done, you'll have golden-brown meatballs floating in a glossy, aromatic sauce that's perfect for serving over pasta, with crusty bread, or as a standalone main dish. The herbs add brightness while the tomatoes provide depth, resulting in a sauce that's rich but not heavy.
Each bite delivers that perfect combination of tender meat and velvety sauce that makes this dish unforgettable.
This recipe scales beautifully for gatherings—just double the batch—and keeps well in the fridge for up to 5 days, making it ideal for meal prep. The technique is simple, but the results are restaurant-worthy, proving that home cooking can rival the best Italian trattorias.
Let's get started on creating this comforting classic that's sure to become a family favorite.
Ingredients for pork meatballs in tomato sauce
Restaurant-quality pork meatballs start with these 15 flavor-packed ingredients that transform simple pantry staples into an unforgettable dish.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Pork Shoulder 🐖 | 1 ½ lb | Freshly ground, 80% lean for juiciness |
| Large Eggs 🥚 | 2 whole | Room temperature for even mixing |
| Fresh Parsley 🌿 | ¼ cup | Finely chopped, stems included |
| Fresh Basil 🌿 | ¼ cup | Torn by hand for aromatic oils |
| Garlic Cloves 🧄 | 4 cloves | Minced fine for even distribution |
| Diamond Crystal Kosher Salt 🧂 | 1 ½ tsp | For seasoning and balancing flavors |
| Freshly Ground Black Pepper 🌶️ | ½ tsp | Cracked peppercorns preferred |
| Extra-Virgin Olive Oil 🫒 | 1 tbsp | For meatball shaping and sauce |
| San Marzano Crushed Tomatoes 🍅 | 2 cups | High-quality, low-acid variety |
| Tomato Paste 🍅 | 2 tbsp | Smooth, no-sugar-added preferred |
| Red Wine 🍷 | ½ cup | Bold dry red like Cabernet Sauvignon |
| Vegetable Broth 💧 | 1 cup | Low-sodium for balanced seasoning |
| Dried Oregano 🌿 | 1 tsp | Italian variety for authentic flavor |
| Red Pepper Flakes 🌶️ | ½ tsp | Adjust for desired heat level |
| Fresh Thyme Leaves 🌿 | 1 tbsp | Stripped from stems for intensity |
The ground pork shoulder is where the magic begins—look for 80% lean at your butcher or grocery store's meat counter for that perfect balance of juiciness and structure. Costco or Whole Foods are great for quality cuts, but any reputable grocery store's pre-ground pork works too. The herbs? Fresh is non-negotiable here—Italian markets often have the freshest parsley and basil, but your local grocery store's produce section will do. For the tomatoes, San Marzano is worth the splurge—it's sweeter and less acidic, creating that velvety sauce texture. The red wine should be something you'd drink, not cooking wine—Cabernet Sauvignon or Merlot work perfectly.
No fresh herbs? Dried oregano at one-third the amount will get you close, but you'll miss that bright freshness. Running low on red wine? Substitute beef broth with a splash of balsamic vinegar—it adds depth without overpowering. The tomato paste can be swapped for crushed tomatoes with an extra tablespoon of tomato paste if you're in a pinch. For the meatballs, if you can't find pork shoulder, ground chuck works too—just add an extra egg to compensate for the lower fat content. The red pepper flakes are optional but add that perfect hint of heat that makes the dish sing.
The fresh herbs keep best when wrapped in damp paper towels and stored in a sealed container—they'll stay vibrant for 5-7 days in the fridge. The meatball mixture can be prepped a day ahead and refrigerated, covered tightly. The sauce? It actually tastes better the next day as the flavors meld—portion into meal prep containers for easy lunches. Freezes beautifully for up to 3 months too, making this an ideal make-ahead dish for busy weeks. For best results, let the sauce come to room temperature before serving—it'll be even more luscious.
Why You'll Love This Recipe
- No-Fuss Mixing: I swear by the 5-minute prep—just toss the ground pork, egg, chopped parsley, and minced garlic in a bowl. No food processor, no fussing. The basil goes in later, and honestly? That’s where the magic happens.
- Garlic-Herb Bomb: That raw garlic and fresh basil in the sauce? It’s the kind of flavor that lingers. The pork stays juicy while the sauce simmers into something rich—like a hug in a bowl.
- Lunchbox Hero: Between us, these are my go-to for meal prep. Stuff them in wraps for a quick lunch or freeze half the batch. Reheats like a dream, and my kids still beg for leftovers.
- Budget Stretch: Ground pork shoulder is cheaper than beef, and a pound goes a long way. Plus, the sauce stretches to feed four or even six if you stretch it. My wallet thanks me every time.
Step-by-step instructions for herb-infused pork meatballs
Here's how to craft meatballs with a sauce so rich it clings to every bite—no dryness, no mess.
Combine Meat and Aromatics for Maximum Flavor
In a large mixing bowl, gently combine the 1.5 lb ground pork shoulder with the 2 whole large eggs. The eggs act as a binder while keeping the meatballs tender. Add the 0.25 cup finely chopped fresh parsley and 0.25 cup torn fresh basil, then the 4 cloves minced garlic cloves and 1 tbsp fresh thyme leaves. These herbs will infuse the meatballs with bright, aromatic depth.
Next, add the 1.5 tsp Diamond Crystal kosher salt and 0.5 tsp freshly ground black pepper. Use your hands to mix everything thoroughly but gently—overworking the meat makes meatballs tough. The mixture should hold together when pressed but still feel slightly loose. If it's too dry, add 1 teaspoon of cold water at a time until it comes together just right.
Shape and Sear for Perfect Texture
Roll the meat mixture into 16 evenly sized meatballs, about 1.5 inches in diameter. I use a kitchen scale for consistency—each meatball should weigh roughly 30 grams. Place them on a plate and refrigerate for 15 minutes to firm up slightly. This chilling step prevents them from falling apart when you add them to the sauce later.
Heat 1 tablespoon extra-virgin olive oil in a large, heavy-bottomed skillet over medium-high heat. Once shimmering, add the meatballs in a single layer, leaving space between them. Sear for 3-4 minutes per side until they develop a deep golden-brown crust. This initial sear locks in juices and builds flavor. Don't overcrowd the pan—cook in batches if needed. Transfer the seared meatballs to a plate and set aside.
Build the Herb-Infused Tomato Sauce
In the same skillet, reduce heat to medium and add 2 tablespoons tomato paste. Stir for 1 minute until it darkens slightly, deepening the sauce's richness. Pour in the 0.5 cup red wine and scrape up any browned bits from the bottom of the pan—this is where all the flavor hides. Let the wine simmer for 2-3 minutes until reduced by half.
Add the 2 cups San Marzano crushed tomatoes, 1 cup vegetable broth, 1 tsp dried oregano, and 0.5 tsp red pepper flakes. Stir well, then return the seared meatballs to the skillet. Bring to a gentle simmer, cover, and cook for 20 minutes, stirring occasionally. The sauce should thicken slightly as it absorbs the meatballs' juices, creating that perfect clinging texture.
Simmer to Perfection and Finish
Uncover the skillet and increase heat to medium-low. Let the sauce reduce for another 10-15 minutes, stirring occasionally, until it coats the back of a spoon. The meatballs should be cooked through with an internal temperature of 160°F. Taste and adjust seasoning—add more salt if needed or a splash of broth to loosen the sauce if it's too thick.
Garnish with additional chopped fresh parsley and basil just before serving. The sauce should be vibrant, slightly glossy, and cling effortlessly to each meatball. Serve immediately over al dente pasta or with crusty bread to soak up every last drop of that herb-infused goodness.
Pro Tips For Making Pork Meatballs In Tomato Sauce
- Chill the Pork First: I learned this the hard way—warm pork fat makes greasy meatballs that fall apart. Pop the ground shoulder in the fridge for 30 minutes before mixing, and you’ll get tighter, juicier balls that hold shape in the sauce.
- Salt the Pork Twice: Dump half the salt in with the raw pork (yes, even if it’s pre-seasoned), then save the rest for the sauce. The first salt breaks down proteins early, so your meatballs stay tender, not rubbery.
- Sear Meatballs in Batches: Crowding the pan steams them instead of browning. Use a 12-inch skillet and cook 8–10 meatballs at a time over medium-high heat—no need to rush. Golden crust? That’s where the flavor hides.
- Blend the Herbs: Rough chop the parsley and basil, then pulse them in a mini food processor with the garlic. You’ll get a finer, more even distribution in the meatballs—no more random herb pockets. (I know, I know, but trust the process.)
Dietary considerations for these flavors
Gluten-Free Adaptations
For gluten-free diners, this recipe is already naturally compliant—but there are a few tweaks to elevate it further. First, ensure your vegetable broth is certified gluten-free (I recommend Imagine Foods or Pacific Foods brands).
The meatballs require no changes since they're made with pork and egg only. For serving, swap traditional pasta for gluten-free spaghetti like Barilla or Jovial—both hold sauce beautifully. 🥗
Dairy-Free Considerations
This dish is inherently dairy-free, but if you're using a store-bought tomato sauce with hidden dairy, check labels or make your own. The sauce's richness comes from the San Marzano tomatoes and red wine reduction, not dairy.
For extra creaminess without dairy, stir in 2 tablespoons coconut cream or cashew cream at the end. Garnish with fresh herbs instead of grated cheese for a vibrant finish.
Low-Carb Options
Transform this into a low-carb masterpiece by skipping pasta entirely. Serve the meatballs over cauliflower rice (sautéed with garlic and olive oil) or with zucchini noodles for a lighter option.
The sauce's natural thickness makes it perfect for coating low-carb vegetables. For extra protein, add chopped spinach or mushrooms to the sauce during the final simmer—both absorb the flavors beautifully.
Allergen-Friendly Swaps
For egg allergies, replace the 2 eggs with ¼ cup ground flaxseed mixed with 3 tablespoons warm water (let sit for 5 minutes to gel). For nut allergies, avoid cashew cream and stick with coconut cream or additional tomato paste for richness.
Always check labels on broths and tomato products for hidden allergens—Annie's and Rao's offer reliable allergen-free options.
Protein Boost
Want extra protein? Add ½ cup cooked quinoa or ½ cup cooked lentils to the meatball mixture—both bind well and add fiber. For a meatier texture, fold in ½ cup finely chopped mushrooms (sautéed first) or ¼ cup breadcrumbs (if gluten isn't a concern).
The sauce will still cling perfectly, and you'll get that satisfying heartiness without altering the recipe's core technique. 💪
Nutrition facts
Frequently asked questions
Can I make these meatballs ahead of time?
The meatball mixture can be prepped 24 hours ahead and refrigerated, covered tightly. For the sauce, make it up to 3 days in advance—it actually tastes better as the flavors meld. Reheat gently on the stove with a splash of broth or water to restore moisture. The sauce freezes beautifully for up to 3 months too, making this a perfect make-ahead dish for busy weeks.
What's the best way to cook the meatballs if I don't want to sear them first?
If you prefer baking, shape the meatballs and place them directly on a baking sheet. Bake at 375°F for 20-25 minutes until golden, then add them to the sauce to finish cooking. For stovetop-only cooking, simmer the meatballs in the sauce uncovered for 25-30 minutes instead of searing first—just stir occasionally to prevent sticking. The sauce will still cling perfectly!
How do I prevent the meatballs from falling apart?
Don't overwork the meat mixture—handle it gently to avoid tough texture. The 15-minute chill before cooking is crucial for firmness. If your mixture feels too loose, add just 1 teaspoon cold water at a time. For extra structure, fold in 2 tablespoons breadcrumbs (if gluten isn't a concern) or ¼ cup cooked quinoa into the meat mixture before shaping.
Can I use a different type of pork for these meatballs?
Ground pork shoulder is ideal for juiciness, but ground chuck works too—just add an extra egg to compensate for the lower fat content. For leaner options, try ground pork tenderloin (add 1 tablespoon olive oil to the mixture). Avoid ground pork loin as it's too lean. The herb ratio remains the same regardless of cut—just adjust binding ingredients based on fat content.
What's the secret to getting that perfect sauce consistency?
The sauce should coat the back of a spoon but still be pourable. Simmer uncovered for the final 10-15 minutes to reduce naturally—don't rush this step! If too thick, add 1 tablespoon broth or water at a time. For extra richness, stir in 1 tablespoon tomato paste at the end. The key is patience—the sauce develops depth during this reduction time.
