Prepare your soffritto base by heating olive oil in a large Dutch oven over medium heat. Add onions, carrots, and celery, cooking until soft and translucent but not browned, about 8-10 minutes. This foundation builds the flavor profile of your sauce.
Add the garlic and cook for another minute until fragrant, being careful not to burn it as this will create bitterness.
Incorporate the ground beef, breaking it up with a wooden spoon. Cook until no longer pink, about 8 minutes. The meat should be browned but not crispy.
Pour in the red wine and simmer until it reduces by half, about 5 minutes. This deglazes the pan and adds wonderful depth of flavor.
Stir in tomato paste and cook for 2 minutes, allowing it to caramelize slightly which intensifies the umami flavor.
Add crushed tomatoes, beef stock, bay leaves, oregano, and thyme. Bring to a boil, then reduce heat to maintain a gentle simmer.
Cover partially and simmer for 1.5 hours, stirring occasionally to prevent sticking. The sauce should reduce and thicken during this time.
Pour in the milk and stir well. This traditional step adds richness and helps tenderize the meat proteins. Continue simmering uncovered for another 30-45 minutes until the sauce reaches your desired consistency.
Season with salt, pepper, and a pinch of nutmeg if using. Taste and adjust seasonings as needed.
Cook your pasta in generously salted water until al dente. Reserve ½ cup of pasta water before draining.
Combine the pasta with a portion of sauce, adding a splash of pasta water as needed to help the sauce coat the pasta evenly.
Serve immediately topped with freshly grated Parmesan and torn basil leaves.