In a large pot or Dutch oven, heat the vegetable oil over medium-high heat. Add the beef cubes and brown them 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 3-4 minutes until the onion is translucent.
Return the browned beef to the pot. Add the carrots, potatoes, beef broth, red wine (if using), tomato paste, thyme, rosemary, bay leaf, salt, and pepper. Stir to combine.
Bring the mixture to a boil, then reduce the heat to low. Cover and simmer for 1.5 to 2 hours, or until the beef is tender.
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.
Remove the bay leaf before serving. Taste and adjust seasoning if necessary.