In a medium bowl, mix the flour, salt, and pepper. Toss the beef cubes in the flour mixture until they are lightly and evenly coated. This helps brown the meat and will eventually thicken your stew.
Heat the vegetable oil in a large heavy-bottomed pot or Dutch oven over medium-high heat. Add the beef in batches, making sure not to crowd the pan. Brown the meat on all sides, then remove it from the pot and set it aside.
In the same pot, add the chopped onion and cook for about 5 minutes until softened. Stir in the minced garlic and cook for another minute until fragrant, being careful not to burn it.
Pour in the red wine or a splash of beef broth. Use a wooden spoon to scrape up all the brown bits from the bottom of the pot. These bits are packed with concentrated flavor that makes the gravy delicious.
Return the beef to the pot. Add the beef broth, tomato paste, thyme, rosemary, and bay leaves. Bring the mixture to a boil, then reduce the heat to low. Cover the pot and simmer gently for about 1 hour and 15 minutes.
Stir in the potatoes, carrots, and celery. Cover the pot again and continue to simmer for another 30 to 45 minutes, or until the beef and vegetables are completely tender.
Stir in the frozen peas and let them cook for just a few minutes until heated through. Remove the bay leaves. Taste the stew and add more salt or pepper if needed before serving.