Heat the vegetable oil in a large pot or Dutch oven over medium-high heat. Add the beef cubes and brown them on all sides, about 5-7 minutes. Don't crowd the pan – work in batches if needed!
Add the diced onion to the pot with the beef and cook for 3-4 minutes until softened. Stir in the minced garlic and cook for another minute until fragrant.
Pour in the beef broth and add the diced tomatoes with their juice. Stir in the tomato paste until well combined.
Add the potatoes, carrots, celery, thyme, bay leaf, salt, and pepper. Bring the soup to a boil, then reduce heat to low and let it simmer for 25 minutes.
Add the green beans and corn to the pot. Continue simmering for another 10-15 minutes until all the vegetables are tender and the beef is cooked through.
Remove the bay leaf and taste the soup. Adjust salt and pepper as needed – I usually add just a pinch more!
Serve hot with crusty bread or crackers on the side. This soup tastes even better the next day, so don't hesitate to make it ahead!