Start by giving your beef brisket a good rinse and pat it dry with paper towels. In a small bowl, mix together salt, black pepper, smoked paprika, garlic powder, onion powder, and chili powder if desired. Rub this spice mixture all over the brisket.
In a large skillet or Dutch oven, heat the olive oil over medium-high heat. Sear each side of the brisket for about 4-5 minutes until it develops a golden-brown crust. Remove the brisket from the pan and set it aside.
In the same pan, add butter followed by sliced onions and minced garlic. Sauté on medium heat for about 5-7 minutes until soft and fragrant.
Add beef broth, barbecue sauce, Worcestershire sauce, Dijon mustard, and brown sugar to the onion and garlic mixture. Stir well to combine.
Return the seared brisket to the pot with the sauce mixture. Cover and let it simmer on low heat for about 6-8 hours or until fork-tender.
Once cooked, take the brisket out and place it on a cutting board. Shred the meat into bite-sized pieces using two forks.
Return the shredded beef to the pot along with some reserved cooking liquid. Mix thoroughly so every strand of meat is coated in sauce before serving.