In a large skillet or saucepan, heat the olive oil over medium heat. Add the chopped onion, carrot, and celery. Sauté for about 5 minutes, or until the vegetables are softened.
Add the minced garlic and ground beef to the pan. Cook until the beef is browned, breaking it apart with a spoon as it cooks. Drain any excess fat.
Stir in the crushed tomatoes, tomato paste, oregano, basil, salt, pepper, and red wine (if using). Bring the mixture to a simmer.
Reduce the heat to low and let the sauce simmer for at least 30 minutes, stirring occasionally. For a richer flavor, simmer for up to 1 hour.
About 10 minutes before serving, stir in the whole milk and let it simmer for a few more minutes.
While the sauce is simmering, cook the pasta according to package instructions. Drain and set aside.
Serve the Bolognese sauce over the cooked pasta. Garnish with fresh basil or parsley and sprinkle with grated Parmesan cheese if desired.