In a large pot or Dutch oven, heat the olive oil over medium-high heat. Add the beef cubes and season with salt and pepper. Brown the beef on all sides, about 5-7 minutes. Remove the beef and set aside.
In the same pot, add the diced onion and cook until translucent, about 3-4 minutes. Stir in the minced garlic and cook for another minute until fragrant.
Add the carrots, celery, and potatoes to the pot. Cook for 5 minutes, stirring occasionally.
Return the browned beef to the pot. Pour in the beef broth and red wine (if using). Stir in the tomato paste, thyme, rosemary, and bay leaf. Bring to a boil.
Reduce the heat to low, cover, and let the stew simmer for 1.5 to 2 hours, or until the beef is tender.
In the last 15 minutes of cooking, add the green beans. Adjust seasoning with salt and pepper as needed.
Remove the bay leaf before serving. Garnish with fresh parsley.