01 - Heat olive oil in a large, heavy-bottomed saucepan over medium heat. Add onion, carrots, and celery. Sauté for 6–8 minutes until softened and translucent.
02 - Stir in minced garlic and cook for 1 minute until fragrant, being careful not to burn.
03 - Increase heat to medium-high. Add ground beef and cook, breaking it up with a wooden spoon, until browned and no longer pink, about 8–10 minutes.
04 - Stir in tomato paste and cook for 2 minutes to deepen flavor. Pour in red wine, scraping up any browned bits from the bottom. Simmer until wine is mostly reduced, about 3 minutes.
05 - Add crushed tomatoes, stock, bay leaf, oregano, thyme, salt, and pepper. Bring to a simmer, then reduce heat to low. Cover partially and simmer gently for 45 minutes, stirring occasionally.
06 - Stir in milk and simmer for 10 minutes more to enrich the sauce. Adjust seasoning to taste. Remove and discard bay leaf.
07 - Meanwhile, cook spaghetti in a large pot of salted boiling water until al dente according to package instructions. Drain, reserving 1/2 cup of pasta water.
08 - Toss spaghetti with a ladle of Bolognese sauce and a splash of reserved pasta water to coat evenly. Divide among plates. Top with remaining sauce and sprinkle generously with Parmesan. Serve immediately.