1. In a large, heavy-bottomed pot with a lid, heat the oil on medium high. Add the meat and brown both sides so a crispy crust forms (5-8 minutes per side).
2. Transfer the beef to a plate; keep warm. Reduce the heat to medium low and add the onion and garlic. Cook until the onion is translucent (3 minutes).
3. Add 2 cups of water and cook, scraping up browned bits from the bottom of the pan. Return the beef to the pot, add the bay leaves and pepper, then cover and cook on low 1 hour, turning halfway through.
4. Add the potatoes on top of the meat and 2 more cups of water. Cover and simmer 10 minutes. Add the carrots and celery, cover, and simmer until a fork can easily pierce a potato (15 minutes).
5. Remove the bay leaves and discard. Remove the meat and vegetables to a serving platter and keep warm while preparing gravy.
6. In a small bowl, combine the flour with the remaining 1/2 cup of cold water until blended. Whisk into remaining liquid in the pot. Cook, stirring constantly until thickened (3 minutes). Serve with the meat and vegetables.