Heat the olive oil in a large Dutch oven 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 diced onion and cook until softened, about 3-4 minutes. Add the minced garlic and cook for an additional minute until fragrant.
Stir in the carrots and potatoes, cooking for another 3-4 minutes.
Return the browned beef to the pot. Add the beef broth, red wine (if using), tomato paste, thyme, rosemary, and bay leaf. Stir to combine.
Bring the mixture to a boil, then reduce the heat to low. Cover and let it simmer for 1.5 to 2 hours, or until the beef is tender.
If you prefer a thicker stew, mix the flour with a small amount of water to create a slurry and stir it into the stew during the last 15 minutes of cooking.
Taste and adjust seasoning with salt and pepper as needed. Remove the bay leaf before serving.
Serve hot, garnished with fresh parsley.