Heat the olive oil in a large Dutch oven or heavy-bottomed pot over medium-high heat. Season the beef stew meat with salt and pepper, then brown the beef in batches, making sure each side is seared well. Remove the beef and set it aside.
In the same pot, add the chopped onion and garlic, and sauté for 3-4 minutes, or until softened and fragrant.
Stir in the tomato paste and cook for 1-2 minutes until it darkens slightly.
Sprinkle the flour over the onions and garlic, stirring to coat. Cook for another 1-2 minutes to create a roux (this will help thicken the broth later).
Gradually pour in the red wine (if using), scraping up any browned bits from the bottom of the pot. Then add the beef broth and water, stirring to combine.
Add the browned beef back into the pot, along with the carrots, potatoes, celery, thyme, rosemary, bay leaf, Worcestershire sauce, and salt and pepper to taste.
Bring the stew to a boil, then reduce the heat to low. Cover and simmer for 2 to 2 1/2 hours, or until the beef is tender and the vegetables are cooked through.
Taste and adjust the seasoning if needed, then remove the bay leaf before serving.
Garnish with fresh chopped parsley and serve hot with crusty bread.