Heat the Oil: In a large pot or Dutch oven, heat the olive oil over medium heat. Add the chopped onion, garlic, carrots, and celery. Sauté for about 5-7 minutes until the vegetables are softened.
Cook the Meat: Add the ground beef to the pot and cook until browned, breaking it up with a wooden spoon as it cooks.
Add Wine: If using, pour in the red wine and cook for 2-3 minutes until most of the liquid has evaporated.
Add Tomatoes and Seasonings: Stir in the crushed tomatoes, tomato paste, beef broth, bay leaf, oregano, and basil. Season with salt and pepper to taste. Bring to a simmer.
Simmer the Sauce: Reduce the heat to low and let the sauce simmer for at least 1 hour, stirring occasionally. The sauce should thicken and develop a deep, rich flavor.
Cook the Spaghetti: While the sauce is simmering, cook the spaghetti according to package instructions until al dente. Drain and set aside.
Combine and Serve: Remove the bay leaf from the sauce. Toss the cooked spaghetti with the Bolognese sauce or serve the sauce on top of the spaghetti. Garnish with fresh basil or parsley and grated Parmesan cheese if desired.