Italian-style beef meatballs combine ground beef, Parmesan, herbs, and soft breadcrumbs, then simmer gently in tomato sauce until tender. Versions vary by region and family; this approachable version draws on familiar Italian flavors and works over pasta, with crusty bread, or on its own.
Ingredients
- 1/2 cup (120 ml) whole or 2% milk
- 1 cup (60 g) plain fine breadcrumbs
- 2 lb (907 g) ground beef, ideally around 85% lean
- 2 large eggs (about 100 g without shells)
- 1/2 cup (50 g) finely grated Parmesan cheese
- 1/3 cup (50 g) finely grated yellow onion
- 2 garlic cloves (6 g), finely minced
- 1/4 cup (15 g) chopped fresh flat-leaf parsley
- 1 tsp (5 g) fine salt
- 1 tsp (1 g) dried Italian seasoning
- 1/2 tsp (1 g) freshly ground black pepper
- 2 tbsp (30 ml) olive oil, divided
- 1/2 medium yellow onion (about 75 g), finely chopped, for the sauce
- 2 garlic cloves (6 g), minced, for the sauce
- 1 can crushed tomatoes, 28 oz (794 g)
- 1/2 tsp (2.5 g) fine salt, for the sauce, plus more to taste
- 1/4 tsp (0.5 g) black pepper, for the sauce
- 1/2 tsp (1 g) dried oregano
- 1/2 cup (120 ml) water
- 1 tbsp (15 ml) chopped fresh parsley or basil, for finishing (optional)
Instructions
- Soften the breadcrumbs. In a large bowl, stir the milk and breadcrumbs together and leave them for about 5 minutes. The crumbs should absorb most of the milk and turn into a soft paste. This small step helps keep the meatballs moist and distributes the binder evenly; dry crumbs mixed straight into beef can make a firmer, heavier result.
- Mix the meatball mixture gently. Add the ground beef, eggs, Parmesan, grated onion, minced garlic, parsley, salt, Italian seasoning, pepper, and 1 tablespoon (15 ml) of the olive oil to the bowl. Use clean hands or a fork to mix just until the ingredients are evenly combined. Avoid squeezing or kneading the mixture for a long time. Overworking ground meat compacts it, which can make cooked meatballs dense.
- Shape the meatballs. Lightly oil or dampen your hands, then portion the mixture into 24 balls, about 1 1/2 inches (4 cm) across. Keep them roughly the same size so they cook at a similar rate. Set them on a plate or tray as you work. If the mixture feels too sticky to shape, chill it for 10 minutes; this optional pause can make handling easier, but it is not necessary if the mixture is manageable.
- Brown the meatballs. Heat the remaining 1 tablespoon (15 ml) olive oil in a wide, heavy skillet or Dutch oven over medium heat. Working in batches if needed, add the meatballs in a single layer with space between them. Brown them for about 8 to 10 minutes total, turning gently every few minutes so several sides color. They do not need to cook through at this stage. Transfer them to a clean plate. If the pan is crowded, the meatballs will steam rather than brown, so cook a second batch instead of packing them in.
- Start the tomato sauce. Carefully pour off excess fat if there is a large amount, leaving a thin coating in the pan. Add the chopped onion and cook for 3 minutes, stirring, until it begins to soften. Add the sauce garlic and oregano and stir for about 30 seconds, just until fragrant. Pour in the crushed tomatoes and water, then add the sauce salt and pepper. Stir and scrape the browned bits from the bottom of the pan into the sauce; they add savory flavor.
- Simmer until cooked through. Return the browned meatballs and any juices on the plate to the pan, arranging them in the sauce. Bring the sauce to a gentle simmer, then cover the pan partially and cook over low heat for 20 minutes. Turn the meatballs once during simmering if they are not mostly submerged. Check the center of a larger meatball with a food thermometer: USDA FSIS safe minimum temperature for ground beef is 160°F (71°C). If a meatball has not reached that temperature, continue simmering and check again. Avoid a hard boil, which can break up the meatballs and make the sauce splatter.
- Finish and taste. When the meatballs are cooked through, taste the sauce and adjust the salt or pepper. If it is thicker than you like, stir in a splash of hot water; if it seems thin, simmer uncovered for a few minutes, gently moving the meatballs so they do not stick. Scatter with fresh parsley or basil, if using, and serve hot.
Tips
- Choose beef with some fat. Ground beef around 85% lean is a useful balance: it gives the meatballs flavor and moisture without leaving the sauce excessively greasy. Very lean beef can work, but the finished texture may be less tender; do not compensate by mixing it vigorously.
- Use a light hand when mixing and shaping. Combine only until the egg, crumbs, and seasonings are distributed. A gentle touch also helps keep the meatballs round while browning. If one cracks slightly, press it back together rather than compressing the whole batch.
- Make a small test patty if you want to check seasoning. Cook a teaspoon-sized portion of the mixture in a skillet until it is fully cooked, then taste it before shaping the rest. This is a practical way to adjust salt or herbs without tasting raw ground beef.
- Swap ingredients thoughtfully. Panko can replace fine breadcrumbs, though its larger flakes make the texture a little lighter; use the same cup measure. For a dairy-free batch, use unsweetened plain oat milk and omit the Parmesan, adding about 2 tablespoons (10 g) nutritional yeast if desired. The flavor will be less salty and cheesy, so season the sauce to taste.
Serving Suggestions
For a familiar Italian-American-style dinner, spoon the meatballs and sauce over spaghetti, rigatoni, or another pasta that catches the tomato sauce. Boil the pasta separately according to its package directions, reserve a little pasta water, and toss the pasta with enough sauce to coat it before adding meatballs on top. A splash of the starchy cooking water can help the sauce cling to the noodles. Finish with grated Parmesan and chopped parsley or basil.
These meatballs are also good with toasted rolls for sandwiches, creamy polenta, or a slice of crusty bread for scooping up sauce. Add a simple green salad or cooked vegetables to round out the meal. If serving a group, keep the meatballs warm in the covered sauce over very low heat rather than leaving them at room temperature; avoid prolonged holding that could dry them out.
Variations
Beef and pork: Replace 1 lb (454 g) of the beef with ground pork. The blend will have a richer flavor and may release more fat, so spoon off excess fat after browning if needed. Cook the mixture to the same safe minimum internal temperature of 160°F (71°C).
More herbs: Add 1 tablespoon (3 g) chopped fresh oregano or 1 teaspoon (1 g) fennel seeds to the meat mixture. Fennel gives a gentle anise-like note; crush the seeds lightly first so they distribute well.
Spicy tomato sauce: Add 1/4 teaspoon (0.5 g) red pepper flakes with the sauce garlic. Increase it gradually if you prefer more heat. For a smoother, less chunky sauce, blend the tomatoes before adding them to the pan, taking care with hot liquid.
Gluten-free: Use certified gluten-free breadcrumbs in the same quantity and check that the other packaged ingredients are suitable for your needs. The texture may vary slightly by crumb brand; if the mixture feels unusually wet, let it stand for a few minutes before shaping rather than adding a large amount of extra crumbs.
Storage and Reheating
Refrigerate cooked meatballs and sauce within 2 hours of cooking, storing them together in a shallow, airtight container. They keep for 3 to 4 days in the refrigerator. For longer storage, freeze them in a freezer-safe container with enough sauce to cover or nearly cover the meatballs; for best quality, use within about 3 months. Thaw frozen portions overnight in the refrigerator before reheating when possible.
Reheat a portion gently in a covered saucepan over low to medium-low heat, stirring the sauce occasionally and adding a spoonful of water if it has thickened. Reheat leftovers to 165°F (74°C), checking the center of a meatball with a food thermometer. In a microwave, place meatballs and sauce in a covered microwave-safe dish, arrange them evenly, and heat in short intervals, turning or stirring between intervals so the center heats thoroughly. Do not leave cooked meatballs at room temperature for more than 2 hours, or more than 1 hour when the room is above 90°F (32°C).
Frequently Asked Questions
Can I bake the meatballs instead of browning them in a skillet?
Yes. Arrange shaped meatballs on a lightly oiled, rimmed baking sheet and bake at 425°F (220°C) for about 15 to 18 minutes, turning once if you want more even browning. Check that the center reaches 160°F (71°C), then transfer them to the prepared sauce and simmer gently for about 10 minutes so they take on some of its flavor. Baking is convenient for a large batch, though skillet browning leaves more browned bits to flavor the sauce.
Why are my meatballs tough or falling apart?
Tough meatballs are commonly caused by overmixing, compressing them tightly, or using very lean beef. Mix only until combined and shape with light pressure. Meatballs that fall apart may have too little binder, may have been turned before a browned crust formed, or may have been boiled vigorously. The milk-soaked crumbs and eggs help bind this recipe; brown gently and turn with a thin spatula or tongs.
Do I have to brown the meatballs first?
Browning is not required for food safety if the meatballs are fully cooked in the sauce to 160°F (71°C), but it adds a roasted flavor and helps them hold their shape. If you skip browning, put the raw shaped meatballs into gently simmering sauce and cook until a thermometer confirms the safe temperature at the center. Handle them carefully at first, since they are more delicate before they set.
Can I make the meatballs ahead?
You can shape the uncooked meatballs up to one day ahead, cover them, and refrigerate them promptly. Keep raw ground beef separate from ready-to-eat foods, and cook the meatballs within that period. You can also cook the complete dish in advance, cool it promptly, refrigerate it, and reheat to 165°F (74°C) before serving. The sauce may taste even more blended after a day, though the meatballs can firm up slightly as they chill.
Can I use fresh breadcrumbs or another kind of cheese?
Fresh breadcrumbs work, but they contain more moisture than dry fine crumbs, so the mixture may feel softer. Start with about 1 cup (60 g), then add a little more only if the mixture is too loose to shape. Finely grated Pecorino Romano can replace Parmesan; it is saltier and sharper, so consider reducing the added salt slightly. Avoid large cheese shreds, which can leave uneven pockets and make shaping less consistent.
Related
- Karela Smoothie Recipe for a Balanced Bitter Melon Drink
- Katharine Hepburn Brownies: A Fudgy Classic
- Karo Chocolate Cake with Glossy Chocolate Glaze
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).