In a large pot or Dutch oven, heat the olive oil over medium-high heat. Add the beef cubes and brown on all sides, about 5-7 minutes. Remove the beef and set aside.
In the same pot, add the chopped onion and cook until softened, about 3-4 minutes. Stir in the minced garlic and cook for an additional minute.
Add the sliced carrots, chopped celery, and mushrooms to the pot. Cook for about 5 minutes, stirring occasionally.
Return the browned beef to the pot. Pour in the red wine and beef broth, then stir in the tomato paste, thyme, rosemary, bay leaves, 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. Stir occasionally.
Once the stew is done, remove the bay leaves and adjust seasoning if necessary. Serve hot, garnished with fresh parsley.