Prep the roast: Trim excess surface fat, but leave some marbling for flavor.
Pat the beef dry and season all over with salt and pepper.
Layer the aromatics: Scatter sliced onion and minced garlic in the slow cooker. This creates a flavorful bed for the beef and prevents sticking.
Mix the sauce: In a bowl, whisk BBQ sauce, beef broth, apple cider vinegar, Worcestershire, brown sugar, smoked paprika, mustard powder, and chili powder (if using).
Add the beef: Place the roast on top of the onions. Pour the sauce mixture over the beef, turning to coat.
Cook low and slow: Cover and cook on Low for 8–10 hours, or on High for 4–6 hours.
Low gives the best texture. The beef is done when it shreds easily with two forks.
Shred the meat: Transfer the beef to a cutting board. Shred with two forks, discarding large pockets of fat.
Skim excess fat from the cooking liquid in the slow cooker.
Combine and simmer: Return the shredded beef to the slow cooker. Stir to coat in the sauce and cook on Low for another 20–30 minutes so the flavors meld.
Taste and adjust: Add salt or a splash more vinegar if you want extra tang. If it’s too saucy, leave the lid cracked for 10–15 minutes to thicken.
Toast the buns: Lightly toast buns in a skillet or under the broiler until just golden.
This helps them stand up to the juicy filling.
Assemble: Pile the BBQ beef onto buns. Top with coleslaw or pickles for crunch. Serve warm.