In a large pot or Dutch oven, heat the olive oil over medium-high heat. Add the beef cubes and season with salt and pepper. Brown the beef on all sides, about 5-7 minutes. Remove the 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 and potatoes to the pot, stirring to combine. Cook for another 3-4 minutes.
Return the browned beef to the pot. Stir in the beef broth, red wine (if using), tomato paste, thyme, rosemary, and bay leaf. Bring the mixture to a boil.
Reduce the heat to low, cover, and let simmer for 1.5 to 2 hours, or until the beef is tender. Stir occasionally.
If you prefer a thicker stew, mix the flour with a little water to create a slurry and stir it into the stew during the last 15 minutes of cooking.
Taste and adjust seasoning with additional salt and pepper if needed. Remove the bay leaf before serving.
Serve hot, garnished with fresh parsley.