Prep ingredients. I recommend peeling and cutting the potatoes and carrots just prior to step 8.
Coat the beef cubes in flour, and shake off any excess.
Add 1 tablespoon of the oil to a pot/Dutch oven over medium-high heat. Once the oil is hot, sear the beef in two batches until nicely browned (if you crowd the pot it won't brown). Don't move the meat around the pan... turn it with tongs after it's had a few minutes to sear. Add the remaining oil to the pot for the second batch. Transfer the meat to a plate after each batch.
If the pot seems quite dry, add another teaspoon or so of olive oil, then add in the onions and celery and sauté for 5 minutes.
Stir in the garlic and tomato paste and cook, stirring often, for 1-2 minutes.
Stir in the wine, broth, and Worcestershire sauce. Scrape up any brown bits from the bottom of the pot.
Add the beef back to the pot (and any juices on the plate) as well as the Italian seasoning and bay leaves. Bring the stew to a gentle boil, then reduce the heat, cover the pot, and simmer for 1 hour. Important: I recommend stirring it occasionally during this time to ensure nothing is sticking to the bottom of the pot and that the temperature is still correct. On my gas stove I cook this stew alternating between medium-low and low (I adjust as needed so it's bubbling fairly gently vs. full-on boiling).
Stir in the potatoes and carrots, cover the pot again, and continue simmering for another hour or until the potatoes, carrots, and meat are nice and tender. As per the previous step, give it a stir occasionally to ensure nothing is sticking/scorching, and adjust the stove's temperature as needed so it maintains a simmer.
Take the bay leaves out of the stew and stir in the frozen peas. Let them warm through.
Season with salt & pepper as needed and serve.