In a large saucepan heat the oil over medium heat. Saute garlic and onion for 5 minutes or until the onion softens.
Increase heat to high and add the ground beef to the saucepan. Using a wooden spoon, break up the lumps and cook for 5 minutes or until well browned.
Add and stir in the mushrooms and cook for 3 minutes or until they soften slightly. Add the red wine to the beef mixture and cook for another 2 minutes.
Add and stir the tomatoes, bay leaves, and tomato paste into the beef mixture. Bring to boil over high heat.
Reduce heat to medium-low and cook, covered, stirring occasionally, for 30 minutes or until the sauce reduces and thickens to a good sauce consistency.
Meanwhile, cook the spaghetti in a large saucepan of salted boiling water, following packet directions, or until al dente. Drain well.
Taste and season with salt and pepper. Remove and discard the bay leaves.
Place the spaghetti amongst the serving bowls and spoon the sauce over.
Top with the parmesan or Cheddar cheese shavings and serve immediately with toasted bread.