Heat the olive oil in a large pot over medium heat. Add the beef and cook until browned on all sides. Remove the beef and set aside.
In the same pot, add the onion and garlic. Cook until the onion is soft.
Sprinkle the flour over the onions and garlic, stirring constantly for about 2 minutes.
Slowly pour in the Guinness, scraping up any browned bits from the bottom of the pot.
Return the beef to the pot. Add the beef broth, carrots, celery, potatoes, thyme, rosemary, salt, and pepper. Bring to a boil.
Reduce the heat to low, cover, and simmer for 2 hours, or until the beef is tender.
Serve hot with crusty bread.