Heat olive oil in a large pot or Dutch oven over medium-high heat. Add beef cubes and brown on all sides. Remove and set aside.
In the same pot, sauté onions and garlic until softened and fragrant.
Return beef to the pot. Add beef broth, water, thyme, parsley, bay leaves, salt, and pepper. Bring to a boil, then reduce heat and simmer for 45–60 minutes until beef is tender.
Add carrots, potatoes, celery, and diced tomatoes. Cook for 20–25 minutes until vegetables are tender.
Stir in green beans and corn. Simmer another 10 minutes. Adjust seasoning as needed.
Remove bay leaves before serving. Serve hot with bread or crackers.