Prep Time: 20 minutes | Cook Time: 1 hour 15 minutes | Total Time: 1 hour 35 minutes
Difficulty: Easy–Intermediate | Intensity: Low–Medium
A Little Story First
Every family has that one recipe that never gets written down — the one that lives in a splattered index card, a grandmother’s memory, or the back of someone’s mind. Old-School Spaghetti is exactly that kind of dish. This is not a 20-minute weeknight pasta. This is the Sunday sauce your nonna (or somebody’s nonna) simmered all afternoon while the house filled with the smell of garlic, oregano, and tomatoes. It’s humble, it’s rich, and it tastes like nostalgia. The secret is patience — low heat, a long simmer, and a heavy hand with love.
Ingredients
For the Meatballs
-
1 lb (450 g) ground beef (80/20 recommended)
-
½ lb (225 g) ground pork
-
½ cup plain breadcrumbs
-
½ cup whole milk
-
1 large egg
-
½ cup grated Parmesan or Pecorino Romano
-
3 cloves garlic, minced
-
2 tbsp fresh parsley, chopped
-
1 tsp salt
-
½ tsp black pepper
For the Sauce
-
3 tbsp olive oil
-
1 large yellow onion, finely diced
-
5 cloves garlic, thinly sliced
-
2 tbsp tomato paste
-
2 cans (28 oz / 794 g each) San Marzano whole peeled tomatoes, crushed by hand
-
1 can (15 oz / 425 g) tomato sauce
-
1 cup water (or red wine — your call)
-
2 tsp dried oregano
-
1 tsp dried basil
-
1 tsp sugar (to cut the acidity)
-
1 bay leaf
-
Salt and black pepper, to taste
-
A pinch of red pepper flakes (optional)
To Finish
-
1 lb (450 g) spaghetti
-
Fresh basil leaves
-
Extra Parmesan, for serving
-
Good crusty bread (for mopping — non-negotiable)
Instructions
Step 1: Soak the Breadcrumbs — 5 minutes, Intensity: Low
In a small bowl, pour the milk over the breadcrumbs and let them sit for 5 minutes until softened. This keeps the meatballs tender and moist — don’t skip it.
Step 2: Make the Meatballs — 10 minutes, Intensity: Medium
In a large bowl, combine the beef, pork, soaked breadcrumbs, egg, Parmesan, garlic, parsley, salt, and pepper. Mix gently with your hands until just combined — overmixing makes them tough. Roll into 12–14 meatballs, about the size of a golf ball. Set aside on a plate.
Step 3: Brown the Meatballs — 10 minutes, Intensity: Medium-High
Heat 2 tbsp olive oil in a large Dutch oven or heavy pot over medium-high heat. Brown the meatballs in batches, about 2 minutes per side. They don’t need to cook through — you’re just building flavor. Remove and set aside. (Alternatively, bake them at 400°F / 200°C for 15 minutes to save time and reduce splatter.)
Step 4: Build the Sauce Base — 8 minutes, Intensity: Medium
In the same pot, add the remaining 1 tbsp olive oil. Lower heat to medium. Add the onion and cook until translucent, about 5 minutes. Add the garlic and cook 1 minute more — don’t let it brown. Stir in the tomato paste and cook for 2 minutes until it darkens slightly. This step deepens the flavor.
Step 5: Add the Tomatoes — 5 minutes, Intensity: Low
Add the crushed tomatoes, tomato sauce, water (or wine), oregano, basil, sugar, bay leaf, salt, pepper, and red pepper flakes. Stir well, scraping up any browned bits from the bottom of the pot.
Step 6: The Long Simmer — 60 minutes, Intensity: Low
Return the meatballs to the pot. Bring the sauce to a gentle bubble, then reduce heat to low. Cover partially and simmer for 60 minutes, stirring occasionally. The sauce should reduce and thicken, and the meatballs should become fork-tender. Patience is the whole recipe here.
Step 7: Cook the Spaghetti — 10 minutes, Intensity: Medium
About 10 minutes before the sauce is done, bring a large pot of heavily salted water to a boil. Cook the spaghetti until al dente, according to package directions (usually 9–11 minutes). Reserve ½ cup pasta water before draining.
Step 8: Bring It Together — 3 minutes, Intensity: Low
Add the drained spaghetti directly into the sauce pot (or toss in a large serving bowl). Toss gently to coat, adding a splash of pasta water if the sauce needs loosening. Let it marry for a minute or two.
Step 9: Serve — 2 minutes, Intensity: Low
Plate the spaghetti, top with meatballs, and spoon extra sauce over the top. Finish with fresh basil and a snowstorm of Parmesan. Serve with crusty bread.
Time & Intensity Summary
| Phase | Time | Intensity |
|---|---|---|
| Prep & meatballs | 15 min | Medium |
| Browning | 10 min | Medium-High |
| Sauce base | 13 min | Medium |
| Simmer | 60 min | Low |
| Pasta & assembly | 15 min | Low–Medium |
| Total | ~1 hr 35 min | Mostly Low |
Tips for Success
-
Hand-crush the tomatoes. Canned crushed tomatoes are fine, but crushing whole San Marzanos by hand gives a rustic texture and sweeter flavor.
-
Don’t rush the simmer. An hour is the minimum. Two hours is better. The sauce should never boil hard — just lazy bubbles.
-
Season in layers. Salt the meatballs, salt the sauce, salt the pasta water. Each layer matters.
-
Make it ahead. This sauce tastes even better the next day. Refrigerate up to 4 days or freeze up to 3 months.
Nutrition (per serving, based on 6 servings)
| Nutrient | Amount |
|---|---|
| Calories | ~640 kcal |
| Protein | 34 g |
| Carbohydrates | 62 g |
| Fat | 27 g |
| Saturated Fat | 9 g |
| Cholesterol | 95 mg |
| Sodium | 980 mg |
| Fiber | 6 g |
| Sugar | 11 g |
