Heat olive oil in a large pot over medium heat.
- Add onion, carrot, and celery. Cook until softened, about 8 minutes.
- Stir in garlic and cook for 1 minute.
- Add ground meat, breaking it up with a spoon, and cook until browned.
- Stir in tomato paste and cook for 2 minutes to develop flavor.
- Pour in the wine and simmer until reduced by half.
- Add crushed tomatoes, herbs, salt, and pepper. Stir to combine.
- Reduce heat to low and simmer gently for 45–60 minutes, stirring occasionally.
- Stir in milk or cream and simmer another 10 minutes.
- Meanwhile, cook pasta according to package directions until al dente.
- Drain pasta and toss with the Bolognese sauce.
- Serve hot, topped with freshly grated Parmesan.