Place the beef roast in a large pot and pour in beef broth until mostly covered.
Add Worcestershire sauce, onion powder, garlic powder, salt, and black pepper.
Bring to a gentle simmer over medium low heat, then cook for 1½ to 2 hours until the beef is fork tender, adding more broth if needed.
Remove the beef from the pot, strain and reserve the broth, then slice or shred the beef and keep warm.
Melt the butter in a saucepan over medium heat until foamy.
Whisk in the flour and cook for about 1 minute until smooth and lightly golden.
Slowly whisk in the reserved broth until the gravy thickens, seasoning with salt and pepper to taste.
Place toasted bread on plates, top with beef, ladle over hot gravy, and serve with mashed potatoes if desired.