Italian meatballs, simmered in a rich tomato sauce, served with bread or spooned over perfectly al dente pasta, finished with fresh basil and a generous shower of Parmigiano. This is it, the authentic Italian recipe from my Nonna. Enjoy!
For more authentic Italian recipes, check our out linguine with clam sauce, amatriciana, carbonara, and chicken cacciatore.

Introduction
This dish is pure nostalgia for me – it's the food I grew up with, and it holds a special place in my heart. But honestly, who doesn’t love polpette 🍝🇮🇹?
My Nonna Lidia used to make these for my cousin Gabe and me at least once a month. We’d devour them like it was our last meal. 👵🏻 And let me tell you, there are two things that make Italian meatballs truly unforgettable:
1. They’re unbelievably tender – so soft they practically melt in your mouth.
2. The sauce. Rich, garlicky, and infused with fresh basil, it’s the kind of thing you want to mop up with every last piece of garlic bread (No shame – I still do it every time).
So today, I’m sharing our family’s version of Italian meatballs. Whether you're making it for Sunday dinner or a cozy weeknight meal, this dish is all about heart, heritage, and soul-satisfying flavor.
Serve it with a slice of crusty bread or spooned over spaghetti – this dish is made to bring people together. Let’s get cooking!

Ingredients

Find ingredient list, quantities, and substitutions in the recipe box at the bottom of the page.
- Ground Beef – Go for local, grass-fed if possible. Ask your butcher to grind it fresh. For a milder flavor, swap in half veal.
- Italian Sausage – Adds tons of flavor. No sausage? Use ground pork instead.
- Parmigiano Reggiano – Grana Padano or even generic parmesan will work in a pinch.
- Crusty Bread – A couple slices of Italian or Tuscan loaf (crust removed). Stale bread is great. Sub with breadcrumbs or sandwich bread–just don’t soak the sandwich bread.
- Milk – Can be replaced with water if needed.
- Egg – One small egg to bind.
- Fresh Parsley – Sub with basil or a mix of Italian herbs.
- Tomato Sauce – Homemade with olive oil, onion, garlic, tomato passata, oregano, and fresh basil.
- Serve with crusty bread or spaghetti.
How to make Meatballs
Step 1: Make the meatballs – Soak crusty bread (crust removed) or breadcrumbs in a splash of milk until soft. If using sandwich bread, no soaking needed.
In a bowl, combine ground beef and Italian sausage with grated Parmigiano, garlic, parsley, a beaten egg, salt, and pepper. Mix gently – just until combined – and roll into small, even balls.

Step 2: Sear Meatballs – Heat olive oil in a large skillet, add meatballs, and sear over medium-high heat until browned on all sides (about 5 minutes). Or bake/air fry at 400°F (200°C) for 15 minutes until golden and cooked through.

Step 3: Make the Sauce – Sauté chopped onion in olive oil until soft, then add grated garlic and cook for 30 seconds.
Stir in tomato purée (Italian passata is ideal), oregano, salt, and red pepper flakes. Simmer for about 10 minutes, until thickened.
Step 4: Finish in the sauce – Add fresh basil, then nestle in the meatballs and simmer another 10-15 minutes until rich and flavorful. Serve with crusty bread or scooped over spaghetti with parmesan and basil.

Tips
- Garlic – Optional. If using, always grate it. Minced or pressed garlic won’t cook well = heavy meatballs. For a gentler flavor, rub a halved clove inside the mixing bowl before adding the meat.
- Eggs – Use no more than one small egg per pound of meat. Too much egg = dense meatballs.
- Meat – Skip the pre-ground stuff if you can. Ask your butcher to grind a quality cut of beef. We use local grass-fed beef and a bit of Italian sausage for richness. For a milder flavor, swap in a bit of veal.
- Cheese – Parmigiano Reggiano is essential. Pecorino Romano adds a bold, salty kick if you want it.
- Bread – Crustless, crusty bread (Tuscan style is ideal) soaked in a little milk keeps things tender. No crusty bread? Use breadcrumbs. Avoid soft sandwich bread (it didn't exist when this recipe was invented) unless it’s your only option – then skip the soaking.
- Mixing – Gentle hands only. Don’t overwork the mixture or your meatballs will be tough.
- Searing – Essential! A quick browning in olive oil builds deep flavor through the Maillard reaction. Once browned, finish cooking in tomato sauce to keep them juicy and flavorful.
Questions
You can make meatballs ahead of time and freeze them raw or cooked for later, with or without sauce. They last about 3 months in the freezer. Let them cool down before freezing. Thaw in the refrigerator over several hours before reheating them in a sauce pan with a splash of water.
Keep leftovers - best without the pasta - in an airtight container in the fridge for a day or two. Reheat in a skillet with some water, or in the microwave.
More Easy Dinners
If you tried this Italian Meatballs recipe or any other recipe on our blog, please leave a 🌟 star rating and let us know how it goes in the comments.
We love hearing from you!
Recipe

Italian Meatballs
Ingredients
For the meatballs
- ¾ pound ground beef
- ¼ pound Italian sausage
- ⅓ cup grated Parmigiano
- 2 ounces crusty bread without the crust, or breadcrumbs
- ¼ cup milk
- 1 clove garlic optional, finely grated
- 3 tablespoons parsley chopped
- 1 small egg
- 1 teaspoon salt
- ¼ teaspoon black pepper
- 2 tablespoons extra virgin olive oil for cooking the meatballs - add more if necessary
For the Sauce
- 1 - 2 tablespoons extra virgin olive oil
- 1 small onion finely chopped
- 2 cloves garlic grated
- 28 ounces tomato passata
- 1 teaspoon dried oregano
- ½ teaspoon salt or more to taste
- ¼ teaspoon red pepper flakes or black pepper to taste
- 6 leaves fresh basil
For the pasta (if using)
- 12 ounces spaghetti + water and salt for boiling
Instructions
- Make the meatballs – Soak 2 ounces crusty bread (remove crust) in ¼ cup milk for 5 minutes then crumble it with your fingers.To a mixing bowl, add ¾ pound ground beef, ¼ pound Italian sausage (without skin), the soaked bread, ⅓ cup grated Parmigiano, 1 clove garlic (grated), 3 tablespoons parsley (chopped), 1 small egg, 1 teaspoon salt, and ¼ teaspoon black pepper. Mix gently by hand without over-mixing and form into small balls (about 1 oz /30 g).
- Sear the meatballs – Heat 2 tablespoons extra virgin olive oil in a skillet, add meatballs, and sear for about 5 minutes or until browned on all sides (max flavor), or bake at 400°F (200°C) for 15 minutes.
- Make the sauce – Heat 1 - 2 tablespoons extra virgin olive oil over medium heat in a large skillet. Add 1 small onion (chopped) and sauté for 5 minutes until soft. Add 2 cloves garlic (grated) and sauté 30 seconds.Stir in 28 ounces tomato passata, rinse passata bottle with 1 cup water and add that too.Season with 1 teaspoon dried oregano, ½ teaspoon salt, and ¼ teaspoon red pepper flakes.Simmer for 10 - 15 minutes, then add meatballs and simmer 10-15 more minutes. Add 6 leaves fresh basil towards the end.
- If serving with pasta – Boil spaghetti in plenty of salted boiling water as per package directions. Plate pasta and serve with sauce and meatballs spooned over, fresh basil, and a good grating of Parmigiano.
Notes
- Beef: You can substitute ¼ pound ground veal for ¼ pound ground beef for a milder flavor and more tender texture. So, ¼ ground veal + ½ ground beef.
- Italian sausage: Substitute ground pork.
- Parmigiano Reggiano: Substitute Grana Padano or generic parmesan. Add a few tablespoon pecorino for extra flavor.
- Milk: Substitute water.
- Tomato passata: Substitute crushed tomato or whole canned peeled tomatoes.
- Garlic – Optional. If using, always grate it. Minced or pressed garlic won’t cook well = heavy meatballs. For a gentler flavor, rub a halved clove inside the mixing bowl before adding the meat.
- Eggs – Use no more than one small egg per pound of meat. Too much egg = dense meatballs.
- Meat – Skip the pre-ground stuff if you can. Ask your butcher to grind a quality cut of beef. We use local grass-fed beef and a bit of Italian sausage for richness. For a milder flavor, swap in a bit of veal.
- Cheese – Parmigiano Reggiano is essential. Pecorino Romano adds a bold, salty kick if you want it.
- Bread – Crustless, crusty bread (Tuscan style is ideal) soaked in a little milk keeps things tender. No crusty bread? Use breadcrumbs. Avoid soft sandwich bread (it didn't exist when this recipe was invented) unless it’s your only option – then skip the soaking.
- Mixing – Gentle hands only. Don’t overwork the mixture or your meatballs will be tough.
- Searing – Essential! A quick browning in olive oil builds deep flavor through the Maillard reaction. Once browned, finish cooking in tomato sauce to keep them juicy and flavorful.
Luke says
This recipe is excellent! Thank you for sharing it. It reminds me of how my grandma used to make meatballs. Love the addition of Italian sausage for that extra flavor. Overall great recipe and easy to put together.
Nico Pallotta says
So glad to hear, Luke. Thanks for your message. We are thrilled you liked the meatballs.
Have a lovely day.
Nico