Meatball Recipe Chef John: Tender Bites with Herbed Tomato Sauce

Meatball Recipe Chef John: Tender Bites with Herbed Tomato Sauce

This recipe delivers tender meatballs with a rich herbed tomato sauce, inspired by Chef John’s foolproof techniques.

I’ve refined this method to ensure perfect texture every time—no dry or tough results. The key is a gentle touch with the mixture and a slow simmer in the sauce.

The herbed tomato sauce complements the meatballs beautifully, infusing them with flavor as they cook. Each bite is juicy and packed with savory depth.

Simple ingredients and precise timing make this dish restaurant-quality at home. Here’s how to achieve it.

👨‍🍳
Difficulty
Medium
🥩
Diet
Meat
⏱️
Total Time
30 min
🔥
Calories
Med Cal

Ingredients for Meatball Recipe Chef John

Quality ingredients create these tender, flavorful meatballs with herbed tomato sauce at home.

Ingredient Amount Notes
Ground Beef 🥩 1 lb 80/20 fat ratio preferred
Ground Pork 🥩 ½ lb For moisture and flavor
Breadcrumbs 🍞 ½ cup Plain or Italian style
Whole Milk 🥛 ¼ cup Soaks breadcrumbs for tenderness
Parmesan Cheese 🧀 ½ cup Freshly grated for best flavor
Large Egg 🥚 1 whole Binds the mixture together
Garlic Cloves 🧄 3 cloves Minced for even distribution
Fresh Parsley 🌿 ¼ cup Finely chopped, for brightness
Dried Oregano 🍃 1 tsp For herbed depth in meatballs
Salt 🧂 1 tsp Kosher or sea salt
Black Pepper 🌶️ ½ tsp Freshly ground preferred
Olive Oil 🫒 2 tbsp For browning meatballs
Crushed Tomatoes 🍅 28 oz Canned, with juices
Tomato Paste 🍅 2 tbsp For sauce richness
Dried Basil 🌿 1 tsp For herbed tomato sauce

The ground beef and pork blend is critical for texture. 80/20 ground beef provides the perfect fat ratio, while ground pork adds moisture. Whole Foods or Costco carry both in bulk. For the breadcrumbs, freshly made from day-old bread gives the best texture, but store-bought Italian-style works in a pinch. The Parmesan should be freshly grated from a wedge—pre-shredded contains anti-caking agents that affect melt.

No pork? Use all beef (preferably 85/15 to keep moisture). Missing breadcrumbs? Crushed saltines or panko at a 1:1 ratio. For the milk, any percentage works, but whole milk yields the most tender result. Out of fresh parsley? Dried parsley at one-third the amount works, though fresh is ideal. The tomato sauce can use San Marzano canned tomatoes for premium quality.

Meatball mixture can be prepped 1 day ahead and refrigerated. Cooked meatballs in sauce keep for 4-5 days in the fridge or 3 months frozen. Reheat gently in sauce to prevent drying. Always use airtight containers for storage.

❤️

Why You’ll Love This Recipe

  • One Bowl Magic: I just dump everything in, mix, and roll—no fancy prep, just ground beef, pork, and breadcrumbs ready in minutes.
  • Umami Bomb: That parmesan and milk combo gives these meatballs a rich, savory depth that’s honestly hard to beat.
  • Freezer Friendly: I make a double batch, freeze half, and pull them out for quick dinners or last-minute appetizers.
  • Budget Stretcher: Ground beef and pork keep costs low, and a little parmesan goes a long way for maximum flavor.

Step-by-Step Instructions for Tender Meatballs with Herbed Tomato Sauce

Here is the method I use to achieve perfectly tender meatballs with rich, herbed tomato sauce.

Step 1: Combine Ingredients for Tender Meatballs

In a large mixing bowl, add the 1 lb Ground Beef, 0.5 lb Ground Pork, 0.5 cup Breadcrumbs, 0.25 cup Whole Milk, 0.5 cup Parmesan Cheese, and 1 whole Large Egg. The milk-soaked breadcrumbs are the secret to keeping the meatballs moist during cooking.

Add the 3 cloves Garlic Cloves (minced), 0.25 cup Fresh Parsley (finely chopped), 1 tsp Dried Oregano, 1 tsp Salt, and 0.5 tsp Black Pepper. Gently mix everything together with your hands just until combined—overmixing can make the meatballs tough.

Step 2: Form and Brown the Meatballs

Shape the mixture into 1.5-inch meatballs, using about 2 tablespoons of mixture per meatball. Roll them gently between your palms to create uniform shapes that will cook evenly. You should get approximately 20 meatballs from this mixture.

Heat the 2 tbsp Olive Oil in a large Dutch oven or heavy pot over medium-high heat. When the oil shimmers, add the meatballs in batches, being careful not to crowd the pan. Brown them on all sides for 6-8 minutes total until they develop a rich golden crust. They don’t need to be fully cooked through at this stage. Transfer the browned meatballs to a plate and set aside.

Step 3: Build the Herbed Tomato Sauce

In the same pot, add the 28 oz Crushed Tomatoes (with juices) and 2 tbsp Tomato Paste. Stir to combine, scraping up any browned bits from the bottom of the pot—this adds incredible depth of flavor to the sauce.

Stir in the 1 tsp Dried Basil and return the meatballs to the pot. The sauce should just cover the meatballs. Bring to a gentle simmer, then reduce heat to medium-low.

Step 4: Simmer to Perfection

Cover the pot and let the meatballs simmer in the sauce for 20-25 minutes, stirring occasionally. This gentle cooking method ensures the meatballs stay tender while absorbing all the rich tomato flavors.

You’ll know they’re done when the meatballs are fully cooked through and the sauce has thickened slightly to a velvety consistency. Taste and adjust seasoning with additional salt if needed, though the Parmesan and initial seasoning should provide plenty of flavor.

👨‍🍳

Pro Tips For Making Meatball Recipe Chef John

  • Chill Before Cooking: After mixing, refrigerate the meatball mixture for 30 minutes—this keeps the fats firm so they hold shape better in the pan.
  • Use Fresh Breadcrumbs: I learned this the hard way—dry store-bought breadcrumbs make dense meatballs, while fresh ones soaked in whole milk give that tender texture Chef John’s version is known for.
  • Skip the Overmixing: Mix just until combined, or you’ll end up with tough meatballs; the pork and beef will bind on their own once cooked.
  • Brown in Batches: Crowding the pan steams instead of sears, so cook in batches with about 2 tablespoons of oil—yes, even if you’re impatient like me.

Make-Ahead Tips for This Recipe

Prep Ahead Mixing

You can combine all meatball ingredients 1 day ahead and refrigerate in a covered bowl. The flavors meld beautifully overnight. Just shape and brown the meatballs when ready to cook. 💡

Shape and Store

Form the meatballs and arrange them on a parchment-lined tray. Cover tightly with plastic wrap and refrigerate for up to 24 hours before browning. This saves time on busy days.

Freeze Uncooked Meatballs

Roll the meatballs and freeze on a tray for 1 hour, then transfer to a freezer bag. They’ll keep for 3 months. Cook from frozen by adding 5 minutes to the simmering time.

Sauce Prep

Make the herbed tomato sauce 2 days ahead and store in the fridge. Reheat gently before adding fresh or thawed meatballs. This deepens the flavors even more.

Cooked Meatball Storage

Cool completely and store in airtight containers with sauce for 4-5 days in the fridge. For freezing, use quart-size freezer bags and lay flat to save space.

Reheating Tips

Thaw overnight in the fridge, then warm on the stovetop over low heat for 15-20 minutes. Stir occasionally to prevent sticking and ensure even heating. ❄️

Nutrition Facts

Servings 4
Amount Per Serving
Calories 540kcal
% Daily Value
Total Fat 32g41%
Saturated Fat 11g55%
Cholesterol 120mg40%
Sodium 890mg39%
Total Carbohydrate 22g8%
Dietary Fiber 3g11%
Sugars 8g
Protein 38g76%
Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently Asked Questions

1

Why use both beef and pork?

The 80/20 ground beef provides rich flavor while ground pork adds moisture. This blend prevents dry, dense meatballs and creates a tender texture.

2

Can I bake instead of browning in a pan?

Yes! Bake at 400°F for 20-25 minutes on a lined sheet. Skip browning but note the sauce may lack some depth from pan drippings.

3

How do I keep meatballs from falling apart?

Avoid overmixing the meat blend and ensure the mixture is cold before shaping. The egg and breadcrumbs act as binders to hold everything together.

4

What if my sauce is too thin?

Uncover and simmer for an extra 5-10 minutes to reduce. For immediate thickening, stir in 1 tbsp tomato paste.

★★★★★4.7(12 reviews)
Allison Carter