Pour the Guinness and Worcestershire into a sauce pan. Bring to a boil and then reduce the heat to a simmer. Let this mixture reduce by half.
Preheat a large, heavy bottomed skillet.
When hot, add a tablespoon of the oil and tilt pan to evenly distribute.
Cook the ground meat along with some salt and pepper until browned.
Remove the meat to a colander to drain.
Return the pan to the heat and add another tablespoon of oil.
Add the onions and let cook for a minute.
Add in the garlic and herbs and cook for another 3-4 minutes, until the onions take on some nice color and are soft.
Add the meat back to the pot along with the canned tomatoes.
Stir in the stock and the reduced Guinness mixture.
Taste for seasoning and add just a bit of salt and pepper if necessary.
Let the meat simmer in the sauce for about 15 minutes, or until thick.
Meanwhile, cook the potatoes in salted water until cooked through.
Mash or use a food mill or ricer to puree the potatoes. Mix in the butter and cheese and season to taste with salt and pepper.
Spoon the meat into a 4 qt casserole and top with the potatoes.
Bake at 350° F. until browned and bubbly, about 30 minutes.