In a large pot or Dutch oven, cook the ground beef over medium-high heat, breaking it up with a wooden spoon, until browned and cooked through, about 5-7 minutes. Drain any excess fat.
Add the diced onion, carrots, and celery to the pot. Sauté for 5-7 minutes, or until the vegetables are softened and fragrant.
Stir in the minced garlic and cook for an additional minute.
Pour in the red wine and use a wooden spoon to scrape up any browned bits from the bottom of the pot. Allow the wine to simmer and reduce for 2-3 minutes.
Add the canned diced tomatoes, milk or cream, bay leaves, dried oregano, and dried thyme. Season with salt and black pepper to taste.
Bring the sauce to a simmer, then reduce the heat to low. Cover the pot with a lid and let the sauce simmer for at least 90 minutes, or up to 3 hours, stirring occasionally, until the sauce has thickened and the flavors have melded.
Meanwhile, bring a large pot of salted water to a boil. Cook the spaghetti according to the package instructions until al dente.
Drain the cooked spaghetti and add it to the pot with the bolognese sauce. Toss to coat the pasta evenly.
Serve the spaghetti bolognese hot, garnished with freshly grated Parmesan cheese.