1 lb pasta (tagliatelle, pappardelle, or rigatoni)
1/2 cup grated Parmigiano-Reggiano, for serving
Equipment
Heavy pot or Dutch oven
Large pot for pasta
Wooden spoon or spatula
Colander
Instructions
Heat the olive oil in a heavy pot or Dutch oven over medium heat.
Add onion, carrot, and celery. Cook, stirring occasionally, until soft and translucent, about 8 minutes.
Add garlic and cook 1 more minute.
Increase heat to medium-high. Add ground beef, breaking it up with a spoon.
Cook until no pink remains and some browning develops, about 8 minutes. Do not drain the fat.
Stir in tomato paste and cook for 2 minutes until it darkens slightly.
Pour in wine or chicken stock and scrape up any browned bits, simmering until mostly evaporated.
Pour in milk and simmer until it is mostly absorbed, about 5 minutes.
Add crushed tomatoes, bay leaf, oregano, salt, and pepper.
Stir well, bring to a gentle bubble, then reduce heat to low.
Partially cover and simmer for at least 45 minutes, ideally 90 minutes to 2 hours, stirring occasionally. If it thickens too much, add a splash of water.
Bring a large pot of well-salted water to a boil.
Cook pasta until just shy of al dente.
Reserve 1 cup pasta water before draining.
Remove the bay leaf from the sauce.
Add the drained pasta directly to the sauce with a splash of pasta water.
Toss over low heat for 1-2 minutes until the pasta is coated and glossy.
Serve with grated Parmigiano-Reggiano.
Notes
The milk step is traditional and makes the sauce silkier, do not skip it.
Crushed tomatoes give it more body than tomato sauce.
If you have time, simmer for 90 minutes to 2 hours for significantly better flavor.