Pat the beef cubes completely dry with paper towels. In a large bowl, toss the beef with the flour, 1.5 teaspoons of salt, and a generous amount of pepper until evenly coated.
Heat the oil in a large Dutch oven or heavy-bottomed pot over medium-high heat. Working in batches to avoid overcrowding, sear the beef on all sides until a deep, dark brown crust forms. Transfer the seared beef to a plate and set aside.
Reduce the heat to medium. Add the chopped onion, carrots, and celery to the pot. Sauté for 5-7 minutes, scraping up any browned bits, until the vegetables have softened. Add the minced garlic and cook for another minute until fragrant.
Stir in the tomato paste and cook for 1-2 minutes, allowing it to caramelize and deepen its flavor.
Pour in the red wine to deglaze the pan, using a wooden spoon to scrape all the flavorful bits from the bottom. Let the wine simmer and reduce by about half, about 3-4 minutes.
Stir in the beef broth, Worcestershire sauce, bay leaves, and dried thyme. Return the seared beef and any accumulated juices to the pot.
Bring the liquid to a gentle simmer, then reduce the heat to low, cover the pot, and let it cook for 1.5 to 2 hours, or until the beef is starting to become tender.
Add the cubed potatoes to the pot, stir, and ensure they are mostly submerged in the liquid. Place the lid back on and continue to simmer for another 45-60 minutes, until both the beef and the potatoes are fork-tender.
If the stew isn't as thick as you'd like, mix 1 tablespoon of cornstarch with 2 tablespoons of cold water to create a smooth slurry. Stir the slurry into the simmering stew and let it cook for a few more minutes to thicken.
Stir in the frozen peas and cook for 2-3 minutes until they are bright green and heated through. Remove the bay leaves before serving.
Taste and adjust seasoning with salt and pepper if needed. Garnish with fresh parsley and serve hot.