Pat beef cubes dry with paper towels. Heat olive oil in a large Dutch oven over medium-high heat until shimmering.
Working in batches, sear the beef until deeply browned on all sides, about 3-4 minutes per batch. Do not overcrowd the pot.
Reduce heat to medium and add diced onions to the pot with the beef drippings. Cook until translucent, about 5 minutes, scraping up the flavorful brown bits from the bottom of the pot.
Add garlic and cook for 30 seconds until fragrant, being careful not to burn it.
Return the seared beef to the pot and add beef broth, tomato paste, bay leaf, and thyme. Season with salt and pepper.
Bring to a boil, then reduce heat to maintain a gentle simmer. Cover partially and cook for 1.5 hours, or until beef is beginning to become tender.
Add carrots, celery, potatoes, green beans, and diced tomatoes. Return to a simmer and cook uncovered for additional 30 minutes, or until vegetables are tender but not mushy.
In the final 5 minutes of cooking, stir in frozen peas and corn. Taste and adjust seasonings as needed, removing the bay leaf before serving.
Allow the soup to rest off heat for 10 minutes. Ladle into warm bowls and garnish with fresh parsley.