Spaghetti and Meatballs
Beef-and-pork meatballs with a milk-soaked breadcrumb panade, simmered in tomato sauce, served over real spaghetti. The Sunday-night classic.
Ingredients
- Ground beef (80/20): 350 g (3/4 lb)
- Ground pork: 350 g (3/4 lb)
- Plain breadcrumbs (or torn day-old bread): 60 g (3/4 cup)
- Whole milk: 80 ml (1/3 cup)
- Egg: 1 large
- Parmigiano Reggiano: 50 g (1/2 cup grated, plus more to serve)
- Garlic: 4 cloves, minced (divided)
- Fresh parsley: 1/4 cup, chopped
- Salt: 2 tsp, divided
- Black pepper, freshly cracked
- Olive oil: 3 tbsp, divided
- Yellow onion: 1 small, finely diced
- Crushed tomatoes: 1 can (800 g / 28 oz)
- Tomato paste: 2 tbsp
- Red pepper flakes: 1/4 tsp (optional)
- Fresh basil: handful, torn
- Spaghetti: 450 g (1 lb)
- Salt for pasta water: generous
Instructions
- 1
Make the panade: in a small bowl, soak the breadcrumbs in the milk for 5 minutes until they look like wet sand. This keeps the meatballs tender.
- 2
In a large bowl, gently combine beef, pork, soaked breadcrumbs, egg, parmesan, half the minced garlic, parsley, 1 tsp salt, and a generous amount of pepper. Mix with your hands just until combined — don't overwork it or the meatballs turn dense.
- 3
Form into 16 meatballs, about 50 g (golf-ball-size) each. Wet your hands lightly to keep the mix from sticking.
- 4
Heat 2 tbsp olive oil in a large Dutch oven or deep skillet over medium-high. Brown meatballs in batches on 2-3 sides — they don't need to be cooked through, just developed crust. About 6-7 minutes total. Transfer to a plate.
- 5
Reduce heat to medium. Add remaining 1 tbsp olive oil and the diced onion. Cook 4-5 minutes until softened.
- 6
Add remaining garlic and tomato paste. Stir constantly for 1 minute — you want the paste to darken slightly and smell sweet.
- 7
Pour in crushed tomatoes, remaining 1 tsp salt, and red pepper flakes. Bring to a simmer.
- 8
Return meatballs to sauce, nestling them in. Cover partially and simmer 20-25 minutes, until meatballs are cooked through (74°C / 165°F) and the sauce has thickened. Stir occasionally and gently — you don't want to break the meatballs.
- 9
While the meatballs finish, bring a large pot of well-salted water to a boil. Cook spaghetti until just shy of al dente (1 minute less than the package says). Reserve 240 ml (1 cup) pasta water before draining.
- 10
Add drained spaghetti directly to the sauce with about 60 ml (1/4 cup) pasta water. Toss vigorously for 30 seconds to coat the pasta and emulsify the sauce. Add more pasta water if needed.
- 11
Tear basil over the top. Serve in shallow bowls with extra parmesan grated at the table.
Notes
The two best moves: (1) the milk-soaked breadcrumb panade — it's what keeps meatballs tender. (2) Browning, not cooking, the meatballs in the pan first, then finishing them in the sauce. The sauce gets all that rendered fat and fond. Together these are the difference between great meatballs and dense, dry ones.
Why This Works
This is the recipe. Beef-and-pork (the pork brings fat and flavor; all-beef goes dry). A panade — breadcrumbs soaked in milk — keeps the meatballs tender. A real tomato sauce built in the same pan, picking up all the fond from browning. The pasta finishes in the sauce, tossed with starchy pasta water until everything emulsifies.
A Sunday recipe that tastes like Sunday.
The Method
Soak the breadcrumbs in milk first. This is the panade. It’s the single biggest difference between tender meatballs and dense, hockey-puck meatballs. Five minutes in milk and the breadcrumbs turn into a paste that absorbs into the meat.
Don’t overmix. Combine just until it looks even. The more you work ground meat, the more proteins crosslink and the tougher the result. Use your hands, gently, like you’re folding it.
Brown, don’t cook through. The skillet sear builds flavor. The simmer in sauce finishes them gently and keeps them moist. If you cook the meatballs through in the pan, they overcook in the sauce and turn rubbery.
Build the sauce in the same pot. All that browned fond on the bottom is pure flavor. Onion and garlic deglaze it. Tomato paste cooked for a minute (until it darkens) brings the depth.
Finish the pasta in the sauce. Drain the pasta a minute early. Toss it in the sauce with a splash of pasta water. The starchy water emulsifies the sauce so it coats every strand.
Variations
- All beef: works, just bump fat to 80/20 or 70/30. Lacks some complexity but still good.
- Spicy: bump red pepper flakes to 1 tsp; add a pinch of fennel seed to the meatballs
- Cheese-stuffed: push a 1 cm cube of low-moisture mozzarella into the center of each meatball before forming
- Sub roll: serve the meatballs on a hoagie roll with provolone, broiled until melty
Leftovers
Meatballs and sauce keep beautifully — 4 days refrigerated, 3 months frozen. The flavor actually improves overnight. Day-after lunch: split a hoagie roll, stuff with reheated meatballs and sauce, top with shredded mozzarella, broil 2 minutes. Best meatball sub of your life.
Storage
Meatballs in sauce: 4 days fridge, 3 months freezer. Cooked spaghetti: 2 days fridge, doesn’t freeze well — make fresh pasta when reheating leftovers.