2Preheat the oven to 375F. In a large skillet or oven-proof pot, heat a drizzle of oil and sauté the onions over medium-low heat for about 10 minutes, sweating them more than browning them. Add the garlic, butter, carrots, celery and mushrooms and cook for a few more minutes. Transfer to a baking dish (if the one you're using won't work) or a bowl. Add a bit more oil to the pan and brown the meat in batches, sprinkling with salt and pepper and rosemary. Return all the meat and vegetables to the pan and sprinkle with the flour; toss to coat. Pour over the Guinness and bring to a simmer, stirring. If the pan you're using won't go into the oven, dump it into a baking dish. Either way, add water (or beef stock) to just barely cover the meat.
3Cover with a lid or foil and bake for 2 1/2 hours, stirring about halfway through. After 2 1/2 hours the meat should be very tender and the sauce thick, dark and robust; if it's not, uncover and bake for awhile longer, or cook it on the stovetop to reduce the sauce a bit. Remove from heat and stir in half the cheese.
4If your puff pastry is in a block, cut it in half and roll out on a lightly floured surface until it's about as thick as a loonie (or as Jamie describes, a silver dollar). Place over the beef filling and tuck the pastry around the edges (it doesn't have to look neat - go for rustic). Lightly score the surface in a crisscross pattern, not cutting through to the filling. Brush the top with beaten egg.
5Return to the oven for about 45 minutes. Towards the end of the cook time for the pie, cook some frozen peas. Serve the pie steaming hot, with a scoop of peas beside or overtop.