In a large pot or Dutch oven, heat the olive oil over medium-high heat. Add the beef cubes in batches, browning them on all sides. Remove the browned beef and set aside.
In the same pot, add the chopped onion and garlic. Sauté for about 3-4 minutes until the onion is translucent.
Add the carrots, celery, and mushrooms to the pot. Cook for another 5 minutes, stirring occasionally.
Return the browned beef to the pot. Stir in the red wine, beef broth, tomato paste, thyme, and bay leaves. Season with salt and pepper.
Bring the mixture to a boil, then reduce the heat to low. Cover and let it simmer for 2 to 2.5 hours, or until the beef is tender.
Once cooked, remove the bay leaves and adjust seasoning if necessary. Serve hot, garnished with fresh parsley.