This Italian meatballs and tomato sauce recipe uses low and slow cooking for the sauce and high-heat baking for the meatballs. The meatballs also have fresh bread and milk (a panade) in place of breadcrumbs, giving them a lighter and more moist texture than their dry crumb counter parts.

⁠The sauce and the meatballs can be made separately according to your schedule. I have been know to batch-cook this recipe in excess; as in 20lb (9kg) of meatballs and 4xs the sauce, so I can freeze meals. Then, just pasta needs to be made! Can you say, “A dozen delicious meals reheated in only 15 minutes?” ⁠Yeah, me too. lol.

Italian meatballs and tomato sauce in a sauté pan. One meatball is cut in half so you can see it;s juicy center.

Get the Recipe: Italian Meatballs & Tomato Sauce

This Italian meatball and tomato sauce recipe uses low and slow cooking for the sauce and high-heat baking for the meatballs. The meatballs also have fresh bread and milk (a panade) in place of breadcrumbs, giving them a lighter and more moist texture than their dry crumb counter parts.
5 from 8 ratings

Ingredients

Tomato Sauce

  • 2, 28 oz cans of whole peeled tomatoes
  • ½ cup yellow onion, chopped (about 1/4 onion)
  • 1 anchovy, (optional, see notes)
  • 2 tablespoons tomato paste
  • ½ teaspoon marmite, (optional, see notes)
  • 4 cloves (2tsp) roasted garlic
  • 1 teaspoon kosher salt
  • 1 tablespoon brown sugar, packed
  • ¼ cup olive oil
  • 1 tablespoon unsalted butter
  • ½ teaspoon dried oregano
  • ¼ teaspoon fennel seed, toasted and ground
  • ¼ teaspoon calabrian chili powder
  • ½ teaspoon ground black pepper
  • 1 bay leaf
  • 2 tablespoons fresh basil, chopped
  • 1 tablespoon fresh oregano, chopped
  • 1 teaspoon lemon juice

Meatballs

  • 1 lb ground pork shoulder
  • 1 lb ground chuck roast
  • 6 tablespoons whole milk
  • cups Italian bread, cut into 1/2in (1.25cm) cubes
  • ½ cup yellow onion, chopped (about 1/4 onion)
  • 2 eggs
  • 2 tablespoons fresh parsley, finely chopped
  • ¾ cup parmesan, microplaned or finely grated
  • 1 tablespoon kosher salt
  • ½ teaspoon dried oregano
  • ½ teaspoon fennel seed, toasted and ground

Equipment

  • 1 Enameled dutch oven or stock pot
  • 1 blender
  • 1 Kitchenaid mixer with meat grinder attachment optional
  • 2 1/2 sheet baking tray
  • 1 set of tongs
  • 1 microplane or box grater
  • 1 large mixing bowl
  • 1 small mixing bowl
  • 1 chef knife
  • 1 cutting board
Print Recipe

Instructions

Tomato Sauce

  • Start the sauce 3-4 hours before you begin making the meatballs.
  • For the sauce, begin by preparing the tomatoes and onions. You can do this one of two ways, depending on how you’d like the final texture:
  • 1. Put both cans of the tomatoes plus juice and the onion into a blender and blend for 30 seconds or until the onion is mostly puréed. Set aside for later.
  • 2. Put just the tomato juice from the cans and onion into a blender and blend until puréed. Then hand crush the whole tomatoes in a bowl until you have the consistency you want and set everything aside.
  • Next, smash an anchovy with the back of your fork into a paste and mix it with the tomato paste, marmite, roasted garlic, kosher salt, and brown sugar in a small bowl. Set this aside too.
  • Now, heat a soup pot or dutch oven on the stove top on medium, medium-high heat. Add the olive oil and butter to the pot and when the butter begins to bubble add in the ground pepper, fennel, oregano, and calabrian chili powder. Use a whisk to move the spices around. Once they begin toasting and get fragrant, 30-90 seconds, add in the tomato paste mixture and continue whisking for another 60-90 seconds.
  • Pour in the tomatoes and onion purée to stop the spices from burning and give everything a good mix. Add in the bay leaf and let the sauce cook on low for 3 hours stirring every 30-60 minutes. Keep the lid on the pot, but make sure it’s slightly ajar to allow for evaporation and faster tomato sugar caramelization.
  • About three hours later, chop the basil and oregano, then add them and the lemon juice into the sauce.

Meatballs

  • Now, for the meatballs. Preheat the oven to 425°F (218°C).
  • Chop up the bread and add it to a medium bowl. Start the panade by pouring the milk over the bread and letting it sit for 5-10 minutes. While that absorbs, place the eggs and the onion into a blender and blend for 15-30 seconds (just until the onion is puréed). Set aside and prep the parmesan, spices, and chopped parsley. When that’s done, use a fork or your hand, to break up the bread and milk into a paste-like texture. Add the egg mixture, parsley, spices, and parmesan (a little at a time) mixing well.
  • Once your panade is prepped, add the pork and beef to a big bowl. Pour the binding mixture into the bowl and use your hands to gently mix everything together. You want to get everything incorporated but not smushed together. The looser the mix, the better the texture will be when cooked. I tend to first break everything up and then claw my hand to agitate and mix without compaction.
  • When mixed, use a #24 (2in/5cm) cookie scoop (it should hold roughly 2.5tbsp or 50g and make 26 meatballs) to spoon out all the meatballs. You can gently form them into spheres and place them on 2 lined cookie sheets, but remember don’t compress them.
  • Bake for 15-20 minutes, until the outside starts to take on a deep brown color and crisp up. Use tongs to add the meatballs to the sauce for another 10-15 minutes. Serve and enjoy with pasta, or your bread and cheese of choice.

Notes

  • If anchovies aren’t your thing, substitute with 1/2tbsp (7.5ml) of fish sauce OR worcestershire sauce. 
  • If you can’t find marmite (amazon also sells it) or don’t want to use it, feel free to substitute with an equal amount of miso paste, tamari, or soy sauce. 
  • If you don’t like fennel (black licorice or anise flavor) you can absolutely use less or leave it out entirely. Customize the spices to meet your needs!
  • Also, to everyone coming for me because I added sugar to my sauce. You can still use a carrot as a more traditional substitute. Finely grate between 1/2 to 1 whole carrot and add a little bit at a time to taste.
  • If you want to make bigger meatballs, go right ahead. Just make sure you get that nice browning on the outside from the oven and they reach an internal temperature of 160°F (71°C) before eating them.

Nutrition

Calories: 697kcal | Carbohydrates: 18g | Protein: 34g | Fat: 54g | Saturated Fat: 19g | Polyunsaturated Fat: 5g | Monounsaturated Fat: 25g | Trans Fat: 1g | Cholesterol: 179mg | Sodium: 2652mg | Potassium: 882mg | Fiber: 3g | Sugar: 10g | Vitamin A: 765IU | Vitamin C: 20mg | Calcium: 285mg | Iron: 5mg
Spaghetti and meatballs

Frequently Asked Questions

So, what is a panade and why don’t you use breadcrumbs?

A panade is bread soaked in liquid that gets mushed and used as a binder or thickener. Most meatball, meatloaf, crab cake, etc recipes call for breadcrumbs as a binder. But, breadcrumbs are so small and dry that they can actually work against the texture of your meatballs. They fill up all the textural gaps in your mixtures and turn your creations into a gluey paste. A panade allows for that same binding power without losing moisture or tenderness. And, we all need a little tenderness, am I right?

Want to grind your own beef and pork? 

I know all of you are really smart and saw that I provided my preferred cut of meat for the ground pork and beef. That’s because I have a meat grinder attachment for my kitchenaid mixer, and once I started using it I never looked back. If you’d like to share in the magic that is fresh ground meat, buy these cuts and put them in the freezer when you get home from the store. (Increase the recipe unless you want to make something like tacos and breakfast sausage.)

When the meat is about half-frozen, chop the beef and then the pork into 1in (2.5cm) cubes keeping them separate. No cross-contamination here! Grind, in the same order, using the fine or medium plate for meatballs (coarse for sausage and tacos). Grinding while the meat is still frozen will also help keep the ground strands from compressing together too much during mixing, creating an even better texture. If you plan to grind your own meat, start cutting about an hour after you begin cooking down the sauce. If you finish early, just store the meat in the fridge.

Shouldn’t I be simmering Italian meatballs and sauce for hours?

I know, I know… some of us grew up simmering meatballs in the sauce all day. I was one of them. And, I’m sure you’re wondering, “Which way is correct?” I’m here to tell you. If it tastes good the way you make it, it’s not wrong. There is no correct. I’m also here to tell you, for science purposes, I did cook these babies for an additional 4 hours in the sauce and you know what?! Still good!

Here’s the red pill, blue pill deal… if you make this recipe, as is, the meatballs are the star of the show. You can taste all of the ingredients that went into them and they are super tender. The sauce will be bright, acidic, and compliment the meatballs nicely. If you continue cooking the meatballs in the sauce, the sauce becomes the hero. It sweetens and takes on a deep meaty flavor. And, although still juicy, the meatballs lose their tenderness and flavor profile, because the sauce permeates everything. Choose whichever you think will work best for you. Honestly, it’s a win-win in my book!

Why should I bake Italian meatballs instead of deep frying them? 

3 reasons:
1. baking provides a deeper flavor than frying because the crust has longer to develop.
2. There’s no additional oil from frying when you bake meatballs, so the end sauce has a less greasy mouthfeel.
3. You can cook all of the meatballs at once, which is less work IMO.

Okay, why should I bake Italian meatballs instead of pan frying them?

Easy! 4 reasons this time:
1. They get misshapen and it’s harder to heat evenly all the way around.
2. It’s easier to burn the meatballs.
3. I repeat…one batch = less work.
4. No dealing with grease splatter, i.e. burns or stained clothes!!!

How do I freeze meatballs and sauce for meals?

Because I multiply this recipe somewhere between 2-4xs everytime I make it, I am well versed in the freeze and reheat knowledge. (see the next FAQ for reheating instructions)

Italian meatballs and sauce freezing instructions:
What I like to do is keep the meatballs and sauce separate of each other when freezing.

I’ll portion out enough sauce into freezer-safe, lidded containers for as many meals as I can. For me, that means about 3 cups (.75L) per container (I’m feeding 4, but let’s say 1 cup (240ml) per person if you have teenagers or big eaters). Make sure to allow a little extra room in the containers, to account for the sauce expanding a bit as it freezes. Then those go into the freezer for up to 3 months. It’s a good idea to label lids with the date so you know how long they have been in there and you know what the sauce is. You’d be surprised how many red sauces there are that look the same until you taste them. I’m looking at you, shakshuka.

For the meatballs, place whatever you aren’t eating that night onto a lined baking sheet. It’s okay if the meatballs touch, as long as they are one level and not stacked on each other at all. Place the tray with meatballs in your freezer and freeze them for 1-2 hours. Then transfer the mostly frozen meatballs into a freezer safe bag or container and place them back into the freezer. The first freeze will keep them from sticking to each other. Label the container with the date and freeze for up to 2 months.

How do I reheat meatballs and sauce for meals?

Reheating the meatballs and sauce can take a little as 10-15 minutes.

Italian meatballs and sauce reheating instructions:
First, take a container of sauce out of your freezer and turn it upside down in your sink. Turn on the faucet and run water over it, to help the puck of sauce release from the sides of the container. You can also just leave the container on the counter for 5-10 minutes if you have the time. Next, place a smaller pot (with lid) on your stove top that can still fit the frozen puck of sauce. Add an ounce or two (30-60ml) of water to the pot as well as the sauce and turn the burner up to medium. The water will prevent any solids in the sauce from sticking and burning to the bottom of the pot before it can melt. Cover the pot and let the sauce completely defrost. When the sauce is warmed up, retrieve (from your freezer) as many meatballs as you’d like to eat. Add them to the sauce on low to medium-low until they have fully heated through. Since everything is already fully cooked, this process is just to bring everything up to temperature.

Enjoy with pasta, fresh mozzarella, or even on sandwiches!