These Classic Italian-Style Meatballs are juicy and melt-in-your-mouth tender! Made with three types of meat, a panade, and packed with bold flavors, these meatballs are perfect to make ahead, freeze, or meal prep!
This is one of my Italian-Style recipes I know you’ll want to keep on hand!
Spaghetti and meatballs are a classic Italian-American dish, beloved by so many. I love making it for dinner because not only is it delicious and filling, the kids love it.
If you have young kids, you know alllll too well how picky they can be about dinner. So when I find a meal they will eat every time, with no complaining, it immediately goes in our dinner rotation!
A lot of meatball recipes call for them to be pan-seared, then finish cooking in the sauce. That is definitely a delicious way to go, so if you’d like to do that, by all means, please do.
However, I like to bake them, and for several reasons.
- You can cook more at once. I have a lot of large skillets, but none large enough to cook an entire batch of these meatballs at once.
- It’s less messy. Let’s face it, pan-searing anything involves a bit of oil spatter.
- It also cuts down on the fat. Granted, there is nothing healthy about spaghetti and meatballs, but if I can get the same amazing flavor, without having to cook in oil, I’m in.
I’ve been making this recipe for years (even before I had this website), and over the years I’ve tweaked it a bit here and there, and the final result is pretty amazing.
Perfectly moist, tender and juicy, and the flavor is just out of this world.
Obviously meatballs are great with spaghetti, but we also love using them for meatball subs as well!
What do I need to make this recipe?
- Bread – this is part of what makes the meatballs so moist. Any bread will work, but we normally use sandwich bread.
- Milk – this soaks into the bread and creates the most juicy and tender meatballs.
- Garlic – flavor! The amount may seem like a lot, but trust me, you want that much.
- Cheeses – I love to use Parmesan and Asiago, but Romano would be another great option.
- Parsley – a bit of freshness, as well as color. You can omit if you’d like though.
- Italian seasoning/salt/pepper/basil – more flavor.
- Eggs – these help the meatballs hold their shape as they cook.
- Beef/Pork/Veal – this combination of meats helps keep the meatballs super tender, while also offering great flavor. You can use any combination of these meats, you just want 1.5 lbs total.
How to make homemade Italian meatballs?
This is just an overview; the full ingredients and directions are in the recipe card toward the bottom of this post.
- Add torn bread to food processor.
- Add other panade mixture ingredients. Pulse until a loose paste consistency forms.
- No food processor? I’ve also included a way to do it by hand down in the full recipe.
- Add meats to a bowl. Make sure it’s a large bowl, so you have plenty of room to mix.
- Add panade mixture.
- Mix. I find your hands are the best tool for this, and mix until just combined.
- Scoop and roll. Add to a baking sheet, leaving an inch or so in between each meatball.
- Bake. These meatballs are done in about 20 minutes.
The best way to get absolutely melt in your mouth meatballs is to use a panade. A panade is a french cooking term for using soaked pieces of bread to moisten the meatball mixture. Essentially it translates into “bread mash”. The reason this works so well is the liquid soaked starch coats the proteins in the meat and inhibits how tightly they can squeeze together during cooking. Too much protein-squeezing equals a loss of moisture. So preventing that keeps the meatballs incredibly moist.
Variations of this recipe
- No veal – I know veal can be a controversial ingredient, so if you’d rather not use it, feel free to substitute it for an extra 1/4 lb of ground beef and an extra 1/4 lb ground pork.
- Other dairy – I’ve also used half and half, lower fat milk, and even heavy cream in place of the whole milk. I haven’t tested non-dairy milks, but I suspect it would work well (just make sure you use a non-flavored type).
- Onion – instead of using milk to soak the bread, try grating a medium yellow onion, and using the juice from that to soak the bread pieces. You may need to still add a bit of milk, depending on how juicy the onion is. This adds the moisture, as well as amazing flavor.
- Breadcrumbs – if you’d prefer to use breadcrumbs, use 2/3 – 3/4 cup of dried plain breadcrumbs, and start with 1/2 cup of milk. Increase the milk as needed, until the mixture becomes pasty in consistency.
- Other cooking methods – these meatballs can also be cooked in a skillet (see the “chef tips” section below the recipe for the full details. I haven’t tested these in an air fryer, but I’m sure they would work well that way, you’ll just have to experiment a bit with the temperature and time.
No, this more of an Italian-American style recipe. I don’t make any claims of authenticity for this recipe, it’s just made the way my family and I love our meatballs.
Technically no. There are certainly meatballs in Italy (called polpettes), but they aren’t served with spaghetti and marinara sauce. That’s an American adaptation, but certainly a delicious one!
Making Italian meatballs ahead of time
I love recipes that can be made ahead of time, and this is definitely one of those!
You can assemble the meatballs, but don’t bake them, add them to a large airtight container and keep them refrigerated for a day or so. Then just bake as directed.
They can also be baked, cooled, stored in the refrigerator for several days, and reheated (but they’ll be slightly less moist this way).
These homemade meatballs can be frozen two ways. Uncooked, and cooked.
To freeze the uncooked meatballs, add them to a wax or parchment paper lined baking sheet and add the whole baking sheet to your freezer for about an hour or so (until the meatballs are hard).
Then transfer the flash-frozen meatballs to a freezer-safe container and freeze for up to 3-6 months.
Thaw in the refrigerator, then cook as directed.
Cooked meatballs can be frozen by letting them cool completely, then following the same process as above.
Leftover meatballs should be refrigerated in an airtight container and enjoyed within 5 days.
Reheat in the microwave, stovetop, in sauce, or in the oven.
Cookie scoops are great for more than just making cookies! This size is perfect for making these meatballs, with minimal mess, and all uniform in size.
Did you make this? Be sure to leave a review below and tag me @the_chunky_chef on Facebook and Instagram!
- 2 slices white sandwich bread roughly torn
- 1/3 – 1/2 cup whole milk start with 1/3 cup and use more if needed
- 6 cloves garlic minced
- 1 tsp dried Italian seasoning
- 1/2 tsp kosher salt
- 1/2 tsp black pepper
- 1/4 tsp dried basil
- 3 Tbsp minced fresh parsley
- 1/2 cup shredded Parmesan cheese
- 1/2 cup shredded Asiago cheese
- 2 large eggs
- 1/2 lb ground beef I like to use 80/20
- 1/2 lb ground pork
- 1/2 lb ground veal
- Preheat oven to 400°F and line a large rimmed baking sheet with foil. Spray lightly with nonstick cooking spray, and set aside.
Make panade mixture
- Roughly tear the bread into large pieces, then add to food processor.
- Add garlic, milk, asiago cheese, Parmesan cheese, parsley, Italian seasoning, salt, pepper, basil, and eggs. Pulse a few times until well combined and a paste-like consistency forms. If the mixture is still dry, add a bit more milk.
- *** if you don't want to use a food processor or don't have one, rip the bread into much smaller pieces, about the size of 2 peas. Add to a bowl, then add the milk and stir. Let sit for a few minutes, then mash with a fork. Stir in the other ingredients.
- To a large mixing bowl, add ground beef, pork and veal. Add panade mixture to the bowl and mix together with your hands until just combined.
- Use a small cookie scoop (I use the 1.5 tbsp size) to scoop out evenly sized meatballs, then use your hands to roll into round balls. Add meatballs to prepared baking sheet.
- Bake meatballs in preheated oven, and bake for 20-22 minutes.
Serve or store
- Use immediately, with spaghetti and marinara sauce, or with marinara sauce on sandwich rolls, or cool completely and store in the refrigerator in an airtight container.
Want to save this recipe for later? Click the heart in the bottom right corner to save to your own recipe box!
- Recipe makes approximately 30-32 meatballs (when using a 1.5 Tbsp cookie scoop – other sizes or eyeballing it will result in a different total number of meatballs).
- Calorie count listed is an estimate for 1 meatball, with no sauce or pasta, just the meatball.
- If you’d prefer not to use ground veal (which I completely understand), use an extra 1/4 lb of both the beef and pork to substitute (that’s a total amount used of 3/4 lb ground beef, and 3/4 lb ground pork).
- Pro tip for rolling the meatballs: Use the cookie scoop, and use disposable gloves (such as latex or nitrile) to finish rolling them into ball shapes. You can also skip the gloves and just get your hands slightly wet (and this will help prevent the meat from sticking to your hands).
Cooking meatballs in a skillet:
- Heat enough olive oil to thoroughly coat the bottom of a large skillet, and heat over MED HIGH heat.
- Add meatballs, in batches so you don’t overcrowd the skillet, and cook for about 3-4 minutes per side.
- Remove meatballs to a plate, and repeat with remaining batches of meatballs.
- Drain oil, then add marinara sauce to the skillet. Nestle the meatballs into the sauce and simmer on LOW for about 15-20 minutes, stirring occasionally, until cooked through.
The Chunky Chef is not a dietician or nutritionist, and any nutritional information shared is an estimate. If calorie count and other nutritional values are important to you, we recommend running the ingredients through whichever online nutritional calculator you prefer. Calories can vary quite a bit depending on which brands were used.