Preheat your oven to 300°F (150°C).
In a large oven-safe pot or Dutch oven, heat the olive oil over medium heat. Add the sliced onion and cook until softened, about 5 minutes. Stir in the minced garlic and cook for an additional minute.
Season the brisket with salt, black pepper, smoked paprika, and cayenne pepper (if using). Place the brisket in the pot with the onions and garlic.
In a bowl, mix together the beef broth, barbecue sauce, brown sugar, and Worcestershire sauce. Pour this mixture over the brisket.
Cover the pot with a lid and transfer it to the preheated oven. Cook for 3 to 4 hours, or until the brisket is tender and easily shreds with a fork.
Once cooked, remove the brisket from the pot and let it rest for 15 minutes. Shred the meat using two forks.
Return the shredded brisket to the pot and stir it into the sauce. Let it simmer on the stovetop for an additional 10 minutes to absorb the flavors.
Serve the pulled brisket on hamburger buns, topped with coleslaw if desired.