Pat the beef cubes completely dry with paper towels, then season generously on all sides with 1 tsp salt and ½ tsp black pepper. Let the beef rest at room temperature for 15 minutes while you prep the vegetables.
Heat 2 tbsp olive oil in a large Dutch oven over medium-high heat until shimmering, then sear half the beef in a single layer for 4–5 minutes per side until deeply browned. Transfer to a plate and repeat with the remaining beef; do not discard the browned bits.
Reduce heat to medium, add the remaining 1 tbsp olive oil, and cook the diced onion for 5–6 minutes until softened. Add the minced garlic and cook for 1 minute more until fragrant.
Sprinkle the flour over the onions and stir for 1–2 minutes until lightly golden, then pour in the red wine, vigorously scraping up all the browned bits from the bottom of the pot. Simmer for 3–4 minutes to reduce slightly.
Stir in the tomato paste, beef broth, Worcestershire sauce, smoked paprika, remaining 1 tsp salt, and ½ tsp black pepper, then add the thyme sprigs and bay leaves.
Return the browned beef and any accumulated juices to the pot, bring to a boil, then reduce heat to low and simmer with the lid slightly ajar for 1 hour 30 minutes, stirring every 20–30 minutes.
Add the carrots, celery, potatoes, and mushrooms to the pot, stir gently to submerge, and continue simmering covered for another 45–60 minutes until the vegetables are fork-tender and the beef falls apart easily.
Remove and discard the thyme sprigs and bay leaves, taste and adjust seasoning, and simmer uncovered for 10–15 minutes if you prefer a thicker stew. Ladle into bowls and garnish with fresh parsley.