
There is an art to a great meatball, and it has nothing to do with fancy ingredients. It is about the ratio — beef for flavor, pork for tenderness — about a panade of breadcrumbs soaked in milk that keeps every bite juicy, and about the discipline to mix gently and stop. Overworked meatballs are dense and rubbery; these are light, tender and dripping with flavor.
This recipe follows the classic Italian-American playbook: bake the meatballs first for a beautiful browned exterior (and far less mess than frying), then finish them in a simple marinara where they soak up tomatoey goodness while the sauce takes on meaty richness. Everybody wins. If meatballs are your love language, you will also want this classic homemade beef lasagna in your rotation, and our creamy tomato basil soup makes the coziest starter.
Twenty-four meatballs, one pot of sauce, and a pile of spaghetti — this is Sunday dinner energy on any night of the week.
Why You’ll Love This Recipe
- Beef + pork = perfect texture: The blend gives you rich flavor and a tender, juicy bite that all-beef meatballs cannot match.
- Baked, not fried: All the browning with none of the splatter — and you can bake all 24 at once.
- Simple 15-minute marinara: Crushed tomatoes, garlic and basil — no jarred sauce needed, and it tastes infinitely better.
- Freezer friendly: Double the batch and freeze; future meatball subs are basically already made.
- Real Italian-American classic: Parmesan in the mix, basil in the sauce, spaghetti underneath — this is the real deal.
Ingredients
For the meatballs
- 1 lb (450 g) ground beef (80/20)
- 1/2 lb (225 g) ground pork
- 3/4 cup (45 g) Italian-style breadcrumbs
- 1/2 cup (50 g) freshly grated Parmesan cheese, plus more for serving
- 2 large eggs, lightly beaten
- 1/4 cup (60 ml) milk
- 4 cloves garlic, minced
- 1/4 cup (10 g) chopped fresh basil
- 1 tsp dried oregano
- 1 1/2 tsp (9 g) kosher salt
- 1/2 tsp (1 g) freshly ground black pepper
For the marinara
- 2 tbsp (30 ml) olive oil
- 1 small yellow onion, finely diced
- 2 cloves garlic, minced
- 2 cans (28 oz / 800 g each) crushed tomatoes
- 1 tsp sugar (optional, to balance acidity)
- Salt and pepper, to taste
- Fresh basil leaves, for garnish
- Cooked spaghetti, for serving

Instructions
- Make the panade. In a large mixing bowl, combine the breadcrumbs and milk and let them soak for 5 minutes. This mixture — called a panade — is the secret to juicy meatballs: the starches swell with liquid and keep the meat from seizing up and squeezing out its juices as it cooks. Skip it and you get dense, dry meatballs.
- Mix gently. Add the ground beef, ground pork, Parmesan, beaten eggs, minced garlic, basil, oregano, salt and pepper to the bowl with the panade. Using your hands, mix until everything is just combined — stop the moment you no longer see streaks of unmixed ingredients. Overmixing develops the proteins and turns meatballs tough and springy, like sausage. Gentle hands, tender meatballs.
- Roll and bake. Preheat the oven to 400°F (200°C) and line a rimmed baking sheet with parchment. With damp hands (this prevents sticking), roll the mixture into 1 1/2-inch balls — you should get about 24. Arrange them on the sheet with a little space between each. Bake for 18 to 20 minutes, until browned on the outside. They do not need to be cooked through yet; they will finish in the sauce.
- Start the marinara. While the meatballs bake, heat the olive oil in a large, deep skillet or Dutch oven over medium heat. Sauté the diced onion with a pinch of salt until soft and translucent, 5 to 6 minutes. Add the garlic and cook 1 minute more until fragrant. Pour in the crushed tomatoes, add the sugar if using, and season with salt and pepper. Simmer gently for 15 minutes, stirring occasionally, until slightly thickened. Tear in a handful of basil leaves at the end.
- Simmer together. Nestle the baked meatballs into the simmering marinara, spooning sauce over each one. Reduce the heat to low, partially cover, and simmer for 10 to 15 minutes. This finishing simmer does two things: it cooks the meatballs through to a safe 160°F (71°C) internal temperature, and it lets them absorb the sauce’s flavor while enriching the sauce with meaty juices. Cut one open to check — no pink should remain in the center.
- Serve. Twirl the meatballs and plenty of sauce over hot spaghetti (or tuck them into crusty rolls for meatball subs). Finish with a generous snowfall of freshly grated Parmesan and torn basil leaves. Serve immediately, with extra sauce on the side — there is no such thing as too much.

Tips & Variations
- Grate your own Parmesan: Pre-shredded cheese contains anti-caking agents and does not melt the same way. A wedge and a grater make a real difference here.
- Keep them uniform: A 1 1/2-tablespoon cookie scoop gives you evenly sized meatballs that cook at the same rate.
- Meatball subs: Pile meatballs and sauce into toasted hoagie rolls, top with mozzarella and broil 2 to 3 minutes until bubbly.
- Make them lighter: Swap in ground turkey for the pork and bake as directed — still juicy thanks to the panade.
- Freeze for later: Freeze baked (unsauced) meatballs on a sheet pan, then bag them for up to 3 months. Simmer from frozen in marinara for 20 minutes.
Storage
Refrigerate meatballs in their sauce for up to 4 days — they get even better as they sit. Freeze in the sauce for up to 3 months; thaw overnight in the refrigerator and reheat gently on the stovetop. Baked unsauced meatballs also freeze well on their own.
FAQ
Why are my meatballs tough?
Overmixing is the number one cause — it develops the meat proteins and makes them dense. Mix just until combined, roll gently, and always include a panade (the milk-soaked breadcrumbs) for tenderness.
Can I fry the meatballs instead of baking?
Yes, though it is messier. Brown them in batches in a skillet with a thin layer of olive oil over medium-high heat, about 6 to 8 minutes total, then finish in the sauce. Baking gives you the same browning with far less effort and splatter.
What temperature should meatballs reach?
Ground beef and pork must reach 160°F (71°C) internally for food safety. Because these finish in simmering sauce for 10 to 15 minutes after baking, they will get there easily — but verify with a thermometer if you are unsure.
Can I make these ahead for a party?
Absolutely. Make the full recipe a day ahead and refrigerate — the flavors meld beautifully overnight. Reheat gently on the stovetop and keep warm in a slow cooker on LOW for serving.
Recipe Card
- Prep time: 20 minutes
- Cook time: 35 minutes
- Total time: 55 minutes
- Servings: 6
- Calories: 450 kcal per serving
Tender, saucy and unapologetically classic — these are the meatballs your spaghetti has been waiting for.











