Heat the oven to 300°F.
Mix together all of the spice rub ingredients in a small bowl and set aside.
Pat the chuck roast dry with paper towels. Season all sides with most of the spice rub, reserving a little for the top. Let the seasoned roast sit while you prepare the remaining ingredients.
In a bowl or large measuring cup, stir together the beef broth, soy sauce, minced garlic, and liquid smoke.
Chop the onion and spread it over the bottom of a Dutch oven.
Place the seasoned roast on top of the onion. Pour the broth mixture over the roast, then sprinkle the reserved spice rub over the meat.
If using potatoes and carrots, prepare them and arrange them around the roast.
Cover the Dutch oven with its lid and bake for about 2-3 hours for a smaller roast, or about 3-4 hours for a larger roast.
Brush ½ cup of the barbecue sauce over the roast. Cover and return to the oven for about 1 more hour, or until the beef is very tender and pulls apart easily with a fork. Total cooking time is about 3–4 hours, depending on the size and thickness of the roast. Continue cooking if needed until tender.
If using potatoes and carrots, transfer the cooked vegetables to a serving dish and cover to keep warm.