In a large saucepan, cook the chopped bacon over medium heat for 5-7 minutes, or until browned. Add olive oil if necessary.
Sauté the onions, carrots, celery, garlic, and thyme for 5-7 minutes or until the onions have softened. Add the wine and mix thoroughly. Increase the heat to medium-high, add the ground beef, and brown for 3-4 minutes until there's no pink.
Add the tomatoes, tomato paste, basil, Italian seasoning, bay leaves, bouillon, and stock.
Bring to a low boil, then reduce the heat to low, cover, and simmer for 45-60 minutes. Stir occasionally, and continue cooking until you have a thick sauce. If it gets too thick before it's done, add more stock to thin it out.
Add half-and-half (if using) and cook for another minute or two—season with salt and pepper to taste.
When the bolognese sauce is nearly finished, cook the spaghetti according to the package instructions.
Drain the pasta, then stir it into the bolognese sauce. Serve with grated Parmesan and fresh basil.