Cook the Spaghetti: Bring a large pot of salted water to a boil. Add the spaghetti and cook according to the package instructions until al dente. Drain and set aside.
Prepare the Bolognese Sauce: In a large skillet or saucepan, heat the olive oil over medium-high heat. Add the finely chopped onion, garlic, carrot, and celery. Sauté for about 5-7 minutes, or until the vegetables become soft and the onion is translucent.
Brown the Ground Meat: Add the ground beef (or beef and pork mixture) to the skillet. Break it apart with a wooden spoon and cook until it's browned and cooked through, about 5-7 minutes.
Add Tomato Paste and Herbs: Stir in the tomato paste, dried oregano, dried basil, salt, and black pepper. Cook for 2-3 minutes to toast the tomato paste and enhance the flavor.
Deglaze with Wine (Optional): If using wine, pour it into the skillet and cook for a few minutes, allowing it to reduce by half.
Add Crushed Tomatoes and Broth: Add the crushed tomatoes and beef or vegetable broth to the skillet. Stir well to combine. Bring the mixture to a simmer.
Simmer and Add Milk: Reduce the heat to low, cover the skillet, and let the Bolognese sauce simmer for about 30-45 minutes, stirring occasionally. During the last 10 minutes of cooking, stir in the whole milk or heavy cream to add creaminess to the sauce.
Taste and Adjust Seasoning: Taste the Bolognese sauce and adjust the seasoning with additional salt and pepper if needed.
Serve: Divide the cooked spaghetti among serving plates. Spoon the Bolognese sauce over the spaghetti.
Garnish and Enjoy: Garnish with grated Parmesan cheese and fresh basil leaves (if desired). Serve your delicious Spaghetti Bolognese immediately.
Variations: You can use ground turkey or ground chicken instead of beef for a lighter version. Add a pinch of red pepper flakes for some heat if you like. Experiment with different pasta shapes if you prefer a different type of pasta.