In a large skillet, heat olive oil on medium heat and cook garlic and bay leaf until fragrant.Add onion, carrot, and celery and sauté until golden browned.Add the meat and break into pieces with wooden spoon.Add red wine and turn up the heat. Mix well and let the wine evaporate until the liquid is almost gone.Add whole tomato and bouillon (if you are not using vegetable broth) and break up the tomatoes with the wooden spoon.Add water (or vegetable broth) and mushrooms.Skim off the scum and fat from the soup with a fine mesh strainer. This process is important to achieve refined taste. You can easily clean the sieve in water.Cook uncovered on medium low heat for 1 hour. Stir once in a while and it’s done when you see the bottom of the pan when you use scoop with the spatula.And add butter and mix well. Sprinkle generous amount of salt and pepper to taste (since we eat with spaghetti). Serve the meat sauce on spaghetti and garnish with parsley. Grate fresh Parmesan cheese at the table.