Preheat oven to 350 F.
Season beef with salt and pepper. Dust with a light sprinkling of flour, shaking off any excess. Heat a Dutch oven or heavy-bottomed pot over medium-high heat and add olive oil. Sear beef in small batches, turning until browned, approximately 5 minutes. Transfer to a plate. Continue until all meat is browned.
If needed, add another tablespoon of oil and add onions, cooking 5 minutes. Add garlic, ginger, soy sauce and wine. Cook until wine is mostly evaporated. Stir in beef and any juices, thyme and bay leaves. Cover pot, transfer to oven and cook 2 hours.
About an hour before serving, add carrots, celery and potatoes. Cover and continue cooking for an hour until beef and vegetables are tender. Season with salt and pepper if needed.
Ladle into bowls and serve with crusty bread for soaking up the gravy.