Heat the olive oil in a large, heavy-bottomed pot over medium heat. Add the chopped onion, carrots, and celery. Cook, stirring occasionally, until the vegetables are soft and translucent, about 10 minutes.
Add the minced garlic and cook for another minute until fragrant.
Add the ground beef and ground pork to the pot. Cook, breaking up the meat with a spoon, until browned and cooked through.
Pour in the whole milk and simmer, stirring occasionally, until most of the milk has evaporated, about 10 minutes.
Add the dry red wine and simmer until it has mostly evaporated, about 10 minutes.
Stir in the crushed tomatoes, tomato paste, dried oregano, dried basil, and bay leaves. Season with salt and pepper.
Bring the sauce to a boil, then reduce the heat to low and let it simmer uncovered for 1 to 1½ hours, stirring occasionally. The sauce should thicken and develop rich flavors.
About 15 minutes before the sauce is done, bring a large pot of salted water to a boil. Cook the spaghetti according to the package instructions until al dente. Drain the pasta and set aside.
Remove the bay leaves from the sauce. Taste and adjust seasoning if needed.
Toss the cooked spaghetti with the Bolognese sauce until well coated.
Serve the spaghetti Bolognese in bowls, topped with freshly grated Parmesan cheese and garnished with fresh basil or parsley.