01 - Heat olive oil in a large, heavy-bottomed pot over medium heat. Add onion, carrot, and celery; sauté for 6–8 minutes until softened.
02 - Add garlic and cook for 1 minute until fragrant.
03 - Increase heat to medium-high, add ground beef, breaking it up with a spoon; cook until browned and no longer pink, about 8 minutes.
04 - Stir in tomato paste and cook for 2 minutes. Pour in red wine, scraping up any browned bits, and simmer for 2–3 minutes until slightly reduced.
05 - Add crushed tomatoes, beef stock, oregano, basil, bay leaf, salt, and pepper. Stir to combine.
06 - Reduce heat to low, cover partially with a lid, and simmer gently for 45 minutes, stirring occasionally.
07 - Stir in milk and continue to simmer, uncovered, for 15 minutes to meld flavors and thicken the sauce. Remove bay leaf.
08 - Meanwhile, bring a large pot of salted water to a boil. Cook spaghetti according to package instructions until al dente. Drain.
09 - Serve spaghetti topped with Bolognese sauce. Garnish with Parmesan and fresh basil or parsley if desired.