Season and sear the beef: Pat the beef cubes very dry and season with 1 1/2 teaspoons of the salt and the pepper. Heat 2 tablespoons of the olive oil in a large Dutch oven over medium-high heat. Sear the beef in 3 batches, about 4 to 5 minutes per batch, turning once, until each piece has a deep brown crust. Transfer to a plate as you go.
Soften the onion and garlic: Add the remaining 1 tablespoon olive oil to the pot along with the onion. Cook for 4 to 5 minutes until softened and picking up color from the browned bits underneath, then stir in the garlic and cook 1 minute more.
Bloom the tomato paste: Stir in the tomato paste and cook for 2 minutes, until it darkens from bright red to brick red and smells sweet rather than sharp. This step is small and it makes a real difference in the finished gravy.
Stir in the flour: Sprinkle the flour over everything and stir constantly for 1 to 2 minutes to cook off the raw taste. It will look like a thick paste, which is exactly right.
Deglaze with the wine: Pour in the red wine and scrape the bottom of the pot with a wooden spoon until every browned bit lifts. Let it bubble for 3 to 4 minutes to cook off the sharp alcohol edge.
Simmer low and slow: Return the beef and any juices to the pot with the beef broth, Worcestershire, bay leaves, thyme, and remaining 1/2 teaspoon salt. Bring to a bare simmer, cover, and cook on low for 2 hours. The beef passes the USDA-safe 145°F within the first few minutes, so from here you're cooking for tenderness, not safety.
Add the vegetables: Stir in the carrots, celery, and potatoes. Cover and simmer for another 40 minutes, until the vegetables are tender and the beef pulls apart when you press it with a fork.
Finish and serve: Uncover and simmer 5 minutes more if the gravy is thinner than you'd like. Fish out the bay leaves, taste for salt, and ladle into bowls. Sprinkle with parsley and pass crusty bread at the table for soaking up the gravy.
Notes
Sear the chuck in three batches so each piece browns instead of steaming; that crust is where most of the gravy's flavor comes from. The beef passes the USDA-safe 145°F in the first few minutes, so from there you're simmering for tenderness, about 2 hours 40 minutes total until it pulls apart with a fork.