Season beef with salt and pepper; dredge in flour, shaking off excess.
Heat oil in a large Dutch oven over medium-high; brown beef in batches until deep golden all over, about 8 minutes total. Set aside.
Reduce heat to medium; cook onions about 8 minutes until softened and starting to caramelize. Add garlic and tomato paste; stir 1 minute.
Add Guinness; scrape all browned bits from bottom. Add broth, sugar, Worcestershire, thyme, and bay leaves.
Return beef and accumulated juices; boil, reduce heat to low, cover, and simmer 1.5 hours.
Add carrots and potatoes; cover and cook another 45 minutes until vegetables are tender and beef falling apart.
Remove thyme and bay leaves; taste and adjust seasoning. Rest 10 minutes to thicken sauce slightly before serving.