Italian Meatballs

These classic Italian-American style meatballs are huge and pillowy soft! They're made with ground beef and pork, loaded with herbs and cheese, and served with a traditional tomato sauce. Make them baseball-sized for a dinner entree or roll them smaller for an appetizer.

Italian Meatballs in tomato sauce served in a bowl

Simply Recipes / Elise Bauer

When I was a kid, the only time we ever had meatballs was with spaghetti or in albondigas soup.

It never occurred to me that one could simply have meatballs with sauce until I wandered into a restaurant in San Francisco and ordered some Italian meatballs as an appetizer, or so I thought.

To me, meatballs were small little things and three of them would have made a lovely starter for the more substantial entrée to follow. Hah!

My eyes practically fell out of their sockets when the meatballs arrived. They were almost the size of baseballs. Holy moly. But they were fabulous, and it just meant I had more food to share with my friends.

Italian Meatballs cooking in a pan with sauce cooking in another pan

Simply Recipes / Elise Bauer

The Best Italian Meatballs

These meatballs aren't quite the size of baseballs though they could be if you wanted them to. Actually, you could make them any size you wanted.

They're tender, loaded with herbs and cheese, a mixture of ground beef and pork, and covered with a classic tomato sauce.

How to Make Italian Meatballs

To make meatballs, start with bread. Soak a few slices of white bread (crusts removed) in hot milk and mash them until the bread breaks down and becomes a paste. Let this cool slightly, then combine with ground pork, ground beef, a mix of ricotta and Parmesan cheeses, spices, and eggs. Mix only until everything is barely combined; over-mix and your meatballs will be tough.

Form the meatballs with your hands and roll them in flour. Brown them in a skillet, then finish cooking them in tomato sauce. You can make your own tomato sauce, as we do here, or you can use store-bought sauce.

Italian Meatballs in Tomato Sauce served in a bowl

Simply Recipes / Elise Bauer

How Long to Cook Meatballs?

Once browned, these large-sized meatballs will need about 15 to 20 minutes to cook in the sauce. Smaller meatballs will take less time.

When done, the meatballs should be cooked all the way through the center. If you want, you can check them with a digital thermometer; the meatballs should register 160°F in the center.

Storing and Freezing Meatballs

Cooked meatballs can be stored with the tomato sauce in the refrigerator for about 5 days. Reheat gently on the stovetop or in the microwave.

The meatballs can also be frozen, either cooked or uncooked:

  • If uncooked, freeze the shaped meatballs on a parchment-lined tray until solid, then transfer to a freezer container and store for up to 3 months. Thaw in the fridge before cooking.
  • If cooked, allow the meatballs to cool completely, then transfer to a freezer container and freeze for up to 3 months. Meatballs can be frozen either on their own or with tomato sauce. Thaw overnight in the fridge before reheating gently on the stovetop or in the microwave.

Love Meatballs? Try These Recipes


Watch This Italian Meatballs Recipe

Italian Meatballs

Prep Time 25 mins
Cook Time 60 mins
Total Time 85 mins
Servings 8 servings
Yield 16 meatballs

We've used equal amounts of ground beef and ground pork. You could also use a third each of ground beef, pork, and veal.


For the optional tomato sauce

  • 2 tablespoons extra virgin olive oil

  • 3/4 cup finely chopped onion

  • 3/4 cup finely chopped carrots

  • 3/4 cup finely chopped celery

  • 2 tablespoons chopped fresh parsley

  • 1 clove garlic, minced

  • 1 (28-ounce) can crushed or whole tomatoes, including the juice, or 1 3/4 pound of fresh tomatoes peeled, seeded, and chopped

  • 1/2 teaspoon dried basil or 2 tablespoons chopped fresh basil

  • 1 teaspoon tomato paste

  • Salt and freshly ground black pepper, to taste

For the meatballs

  • 2/3 cup milk (whole or 2 percent)

  • 3 slices of white bread, crusts removed (about 3 ounces)

  • 1 pound ground beef (at least 16 percent fat)

  • 1 pound ground pork

  • 1/4 cup ricotta cheese

  • 1/4 cup grated Parmesan or Romano cheese

  • 2 large eggs

  • 1 teaspoon salt (or 2 teaspoons kosher salt)

  • 1 tablespoon chopped fresh parsley

  • 2 teaspoons freshly ground black pepper

  • 1 teaspoon dried oregano or marjoram

  • 2 to 3 cloves garlic, minced

  • About 1 cup flour, for dusting

  • 1/3 cup extra virgin olive oil

  • 2 1/2 cups (24 ouncestomato sauce (recipe follows, or use already prepared)


  1. Make the tomato sauce:

    Heat the olive oil in a large skillet on medium heat. Add the onion, carrots, celery, and parsley. Stir to coat with the oil, reduce the heat to low, and cover the pan. Cook until the vegetables are soft and cooked through, 15 to 20 minutes.

    Remove the cover, add the garlic, and increase the heat to medium-high. Cook the garlic for half a minute, then add the tomatoes (if using whole canned tomatoes, break up with your fingers as you add them to the pan). Add the basil and tomato paste. Season with salt and pepper.

    Bring to a low simmer, reduce the heat to low, and let cook uncovered until thickened while you prepare the meatballs, 15 to 30 minutes.

    Purée in a blender, or push through a food mill if you'd like a smooth consistency. Return to the pan and adjust the seasonings.

    Make the tomato sauce for cooking homemade italian meatballs
    Elise Bauer
  2. Soak the torn bread in hot milk:

    To make the meatballs, heat the milk in a small pot until steamy. Turn off the heat, tear the bread into little pieces and soak it in the milk until it partially dissolves. Mash it until you get something that resembles a paste. Turn it out onto a plate to let it cool.

    Submerge the bread in hot milk and let it soak
    Elise Bauer
    Soak the bread in hot milk in a saucepan
    Elise Bauer
  3. Make the meatball mixture:

    In a large bowl, combine the beef, pork, ricotta cheese, grated Parmesan, eggs, garlic, parsley, oregano, salt, pepper, and the bread-milk mixture. Mix it well with your hands until it barely combines.

    Don't overwork the mixture or it will become tough. It is OK to have some discernible bits of bread or meat in the mix; better that than overworked meatballs.

    Mix together the meat mixture for the italian meatballs with your hands
    Elise Bauer
    The meat mixture for homemade italian meatballs
    Elise Bauer
  4. Form the meatballs:

    Wet your hands and form the meatballs. A traditional size for this sort of meatball is 2 to 3 inches across, but you can make them any size you want.

    Once you roll the meatball in your hands, roll it in the flour to give it a good coating. Set each one on a baking sheet as you work. You might need to rinse your hands a few times as you make the meatballs.

    Shape homemade meatballs with your hands
    Elise Bauer
    Coat homemade italian meatballs in flour
    Elise Bauer
  5. Brown the meatballs:

    When all the meatballs are formed, heat the olive oil in a large skillet over medium-high heat. Brown the meatballs on at least 2 sides. Don't worry about the center getting cooked through, as you will finish these in the sauce.

    Brown both sides of the meatballs in a skillet
    Elise Bauer
    Brown the italian meatballs in a skillet
    Elise Bauer
  6. Finish cooking the meatballs in tomato sauce:

    Once all the meatballs are browned, arrange them in the sauce, turning each one over in the sauce to coat.

    Cover the pot and simmer gently for 15 to 20 minutes. Serve with the sauce and pasta or crusty bread. Sprinkle with a little chopped parsley for garnish if you want.

    Submerge the italian meatballs in tomato sauce in the skillet
    Elise Bauer
    Best Meatballs cooked in tomato sauce in a cast iron skillet
    Elise Bauer
Nutrition Facts (per serving)
577 Calories
36g Fat
25g Carbs
38g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 8
Amount per serving
Calories 577
% Daily Value*
Total Fat 36g 46%
Saturated Fat 11g 56%
Cholesterol 157mg 52%
Sodium 831mg 36%
Total Carbohydrate 25g 9%
Dietary Fiber 4g 13%
Total Sugars 8g
Protein 38g
Vitamin C 15mg 73%
Calcium 183mg 14%
Iron 5mg 29%
Potassium 936mg 20%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
Nutrition information is calculated using an ingredient database and should be considered an estimate. In cases where multiple ingredient alternatives are given, the first listed is calculated for nutrition. Garnishes and optional ingredients are not included.