Welcome to my kitchen! Today we're diving into the heart of Italian comfort food: authentic Italian meatballs. These aren't just any meatballs—they're tender, juicy, and packed with flavor, thanks to a classic blend of meats, bread soaked in milk, and a generous amount of Parmesan. Whether you're serving them over spaghetti or on a crusty sub, this recipe will transport you straight to a trattoria in Naples.
Advertisements1
I've perfected this recipe over years of testing, and I'm sharing all my secrets with you. You'll learn how to keep the meatballs moist, how to brown them to perfection, and how to simmer them in a simple yet vibrant tomato sauce. It's easier than you think, and the results are absolutely worth it. Plus, these meatballs freeze beautifully, so you can make a double batch and enjoy them later.
Get ready for a kitchen filled with the aroma of garlic, basil, and simmering tomatoes. Let's roll up our sleeves and make some magic!
Why You'll Love This Recipe
About the Ingredients
1/2 cup (50g) plain breadcrumbs
Use plain, unseasoned breadcrumbs. You can also use panko for a lighter texture, or make your own from stale bread.
1/2 cup (120ml) whole milk
Whole milk adds richness; you can substitute with 2% or a plant-based milk like oat milk.
1 lb (450g) ground beef (80/20)
80/20 ground beef gives the best flavor and moisture. You can use ground chuck or a mix of beef and pork.
1/2 lb (225g) ground pork
Ground pork adds fat and flavor. If you prefer, use all beef or a mix of beef and veal.
1/2 cup (50g) grated Parmesan cheese
Freshly grated Parmesan is best. You can substitute with Pecorino Romano for a sharper flavor.
1/4 cup (15g) fresh parsley, finely chopped
Fresh parsley brightens the meatballs. You can use 1 tablespoon dried parsley if needed.
2 large eggs
Eggs bind the ingredients together. If you need an egg substitute, use a flax egg (1 tbsp ground flaxseed + 3 tbsp water).
3 cloves garlic, minced
Fresh garlic is key. You can use 1 teaspoon garlic powder in a pinch.
1 teaspoon salt
Use fine sea salt or kosher salt. Adjust to taste.
1/2 teaspoon black pepper
Freshly ground black pepper adds a nice kick.
1/4 cup (60ml) olive oil, for frying
Use a neutral oil with a high smoke point like canola or vegetable oil if you prefer.
2 cups (480ml) marinara sauce (homemade or store-bought)
Use your favorite jarred marinara or make your own. Look for one with no added sugar.
Tips & Tricks
- Don't overmix the meatball mixture. Mix just until combined to keep the meatballs tender.
- Chill the formed meatballs in the fridge for 15 minutes before frying to help them hold their shape.
- Use a cookie scoop to make evenly sized meatballs for even cooking.
Pro Tips
Step-by-Step Instructions
1. Soak the Breadcrumbs
In a small bowl, combine the breadcrumbs and milk. Let sit for 5 minutes until the breadcrumbs absorb the milk. This adds moisture and keeps the meatballs tender.
2. Mix the Meatball Base
In a large bowl, combine the ground beef, ground pork, Parmesan, parsley, eggs, garlic, salt, and pepper. Add the soaked breadcrumbs and mix gently with your hands until just combined. Avoid overmixing to prevent tough meatballs.
3. Form the Meatballs
Using a cookie scoop or your hands, shape the mixture into 1.5-inch (4 cm) meatballs. You should get about 18-20 meatballs. Place them on a baking sheet lined with parchment paper.
4. Chill the Meatballs
Refrigerate the meatballs for 15 minutes. This helps them firm up and hold their shape during frying.
5. Brown the Meatballs
Heat the olive oil in a large skillet over medium-high heat (350°F / 175°C). Add the meatballs in batches, making sure not to crowd the pan. Cook for 5-7 minutes, turning occasionally, until all sides are golden brown. The meatballs will not be cooked through at this point.
6. Simmer in Sauce
In a large pot or Dutch oven, bring the marinara sauce to a simmer over medium heat (200°F / 93°C). Gently add the browned meatballs to the sauce. Cover and simmer for 20 minutes, or until the meatballs are cooked through and reach an internal temperature of 160°F (71°C). The sauce should be bubbling gently.
7. Rest and Serve
Remove from heat and let the meatballs rest in the sauce for 5 minutes before serving. This allows the juices to redistribute. Serve over pasta, on subs, or as desired.
Delicious Variations
Spicy Italian Meatballs
Add 1/2 teaspoon red pepper flakes to the meat mixture for a kick.
Turkey Meatballs
Substitute ground turkey for both beef and pork for a lighter version. Add 1 tablespoon olive oil to the mixture to keep them moist.
Meatball Subs
Serve the meatballs on toasted hoagie rolls with mozzarella cheese, and broil until melted.
How to Store Authentic Italian Meatball Recipes
Refrigerator
Store cooked meatballs in an airtight container with sauce for up to 4 days.
Freezer
Freeze cooked or uncooked meatballs on a baking sheet until solid, then transfer to a freezer bag. They will keep for up to 3 months.
Reheating
Reheat in a saucepan over medium heat (300°F / 150°C) until heated through, about 10 minutes. Or microwave in 30-second intervals.
Frequently Asked Questions
Q: Can I use only ground beef in this recipe?
Yes, you can use all ground beef, but the meatballs may be slightly less tender. For best results, use a mix of beef and pork, or add a little olive oil to the mixture to compensate for the lack of fat.
Q: Do I really need to soak breadcrumbs in milk?
Yes, soaking breadcrumbs in milk is a classic technique that adds moisture and keeps the meatballs tender. Without it, they can be dry and dense.
Q: Can I bake the meatballs instead of frying?
Absolutely. Preheat your oven to 400°F (200°C) and bake the meatballs on a lined baking sheet for 20-25 minutes, turning once, until browned and cooked through. Then simmer in sauce as directed.
Q: How do I know when the meatballs are done?
The most reliable way is to use a meat thermometer: the internal temperature should reach 160°F (71°C). You can also cut one open to check that it's no longer pink inside.
Q: Can I make the meatballs ahead of time?
Yes, you can form the meatballs and refrigerate them for up to 24 hours before cooking. You can also freeze them uncooked for up to 3 months.
I hope you enjoy making these authentic Italian meatballs as much as I do. If you try them, let me know in the comments below—I'd love to hear how they turn out! And don't forget to share your own twists. Happy cooking!
Authentic Italian Meatball Recipes
Make the best authentic Italian meatballs with a blend of beef and pork, simmered in rich tomato sauce. Perfect for Sunday dinner.
🧂 Ingredients
- 1/2 cup (50g) plain breadcrumbs
- 1/2 cup (120ml) whole milk
- 1 lb (450g) ground beef (80/20)
- 1/2 lb (225g) ground pork
- 1/2 cup (50g) grated Parmesan cheese
- 1/4 cup (15g) fresh parsley, finely chopped
- 2 large eggs
- 3 cloves garlic, minced
- 1 teaspoon salt
- 1/2 teaspoon black pepper
- 1/4 cup (60ml) olive oil, for frying
- 2 cups (480ml) marinara sauce (homemade or store-bought)
📋 Instructions
- 1Soak the Breadcrumbs — In a small bowl, combine the breadcrumbs and milk. Let sit for 5 minutes until the breadcrumbs absorb the milk. This adds moisture and keeps the meatballs tender.
- 2Mix the Meatball Base — In a large bowl, combine the ground beef, ground pork, Parmesan, parsley, eggs, garlic, salt, and pepper. Add the soaked breadcrumbs and mix gently with your hands until just combined. Avoid overmixing to prevent tough meatballs.
- 3Form the Meatballs — Using a cookie scoop or your hands, shape the mixture into 1.5-inch (4 cm) meatballs. You should get about 18-20 meatballs. Place them on a baking sheet lined with parchment paper.
- 4Chill the Meatballs — Refrigerate the meatballs for 15 minutes. This helps them firm up and hold their shape during frying.
- 5Brown the Meatballs — Heat the olive oil in a large skillet over medium-high heat (350°F / 175°C). Add the meatballs in batches, making sure not to crowd the pan. Cook for 5-7 minutes, turning occasionally, until all sides are golden brown. The meatballs will not be cooked through at this point.
- 6Simmer in Sauce — In a large pot or Dutch oven, bring the marinara sauce to a simmer over medium heat (200°F / 93°C). Gently add the browned meatballs to the sauce. Cover and simmer for 20 minutes, or until the meatballs are cooked through and reach an internal temperature of 160°F (71°C). The sauce should be bubbling gently.
- 7Rest and Serve — Remove from heat and let the meatballs rest in the sauce for 5 minutes before serving. This allows the juices to redistribute. Serve over pasta, on subs, or as desired.



