The secret for brisket, as with all cheap, tough cuts of meat, is to cook at low temperature for a long time.
I do it thusly: the night before, I rub the brisket with paprika and put it in a large Ziploc bag with a bottle of Heinz chili sauce and several sliced cloves of garlic.
The next day, discard the bag and put the brisket on a rack in a large, deep baking pan. Under the brisket, put a couple good-sized onions, sliced, and red potatoes. Pour in beef stock to a depth of about half and inch to one inch. The bottom of the brisket should be clear of the liquid. Tent aluminum foil over the brisket and put in a preheated 300F oven for at least 4 hours. Tenting locks in moisture and makes it self-basting. It can't be overcooked this way.
When done, take the rack out of the pan and let the meat rest. While resting, put the gravy from the pan into a chilled container and put in the freezer until the fat congeals and can be skimmed off. Then, pour the gravy into a pan and simmer with worcestershire sauce and port until it reduces to gravy consistency. Pour over the meat and serve.