In a large pot, heat the olive oil over medium-high heat. Add the beef stew meat and brown on all sides, about 5-7 minutes.
Add the chopped onion and minced garlic to the pot, cooking until the onion is translucent, about 3-4 minutes.
Stir in the carrots, celery, and potato, cooking for another 5 minutes.
Pour in the diced tomatoes with their juice and the beef broth. Add the green beans, thyme, oregano, salt, and pepper.
Bring the mixture to a boil, then reduce the heat to low. Cover and simmer for 1.5 to 2 hours, or until the beef is tender.
If using, stir in the fresh spinach during the last 5 minutes of cooking.
Taste and adjust seasoning if necessary before serving.