Pat beef cubes dry with paper towels. Toss with flour, 1 tsp salt, and ½ tsp pepper until lightly coated.
Heat 1 tbsp olive oil in a large Dutch oven over medium-high heat. Brown beef in batches for about 5–6 minutes per batch, until all sides are nicely browned. Transfer browned beef to a plate.
Reduce heat to medium. Add remaining 1 tbsp olive oil if needed. Add onion, carrots, and celery; sauté 4–5 minutes until onion softens. Stir in garlic and tomato paste; cook 1 minute until fragrant.
Pour in 1 cup of the beef broth, scraping up browned bits from the bottom. Simmer 2 minutes to reduce slightly.
Return beef and any juices to the pot. Add potatoes, remaining beef broth, bay leaves, thyme, and a pinch of salt and pepper. Stir to combine.
Bring to a gentle boil, then reduce heat to low. Cover and simmer for 1½–2 hours, stirring occasionally, until beef is fork-tender and potatoes are cooked through.
Remove lid. If stew is thin, mix 1 tbsp cornstarch with 2 tbsp water and stir into stew; simmer uncovered 10 minutes until thickened.
Stir in frozen peas and cook 5 minutes more.
Taste and adjust seasoning with salt, pepper, and lemon juice or vinegar if desired for brightness. Remove bay leaves.
Serve warm, garnished with fresh thyme if desired.