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.
Notes
For a thicker stew, mix 2 tablespoons of cornstarch with 2 tablespoons of cold water and stir it into the stew during the last 15 minutes of cooking.
Add potatoes or parsnips for extra heartiness, adjusting the cooking time as needed to ensure they are tender.