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.
02 - Stir in garlic and cook for 1 minute until fragrant.
03 - Increase heat to medium-high. Add ground beef and cook, breaking it up with a spoon, until browned and no longer pink, about 8–10 minutes.
04 - Stir in tomato paste and cook for 2 minutes. Pour in red wine, scraping up any browned bits. Simmer until the 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. Adjust seasoning to taste. Remove 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. Divide among plates. Top with more sauce and sprinkle generously with Parmesan. Serve immediately.