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.

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.

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

Turkey Meatballs Slow Cooker Meatballs in Tomato Sauce Swedish Meatballs Mozzarella Stuffed Meatballs in Tomato Sauce Pressure Cooker Porcupine Meatballs

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 ounces) tomato sauce (recipe follows, or use already prepared)

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. 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. 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. 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.