Melt 2 tablespoons of the butter in a large saute pan over medium high heat. Add the lamb and cook until starting to brown, about 3 minutes.
Add the onions, carrots, 3/4 teaspoon salt, and 1/2 teaspoon of the pepper, and cook, stirring, for 2 minutes. Add the mushrooms and bay leaf, and cook, stirring, until their liquid is almost all gone, about 4 minutes.
Add the tomato paste and cook, stirring, until starting to color, about 1 to 2 minutes.
Add the flour and cook, stirring, for 1 minute. Gradually add the stock and Worcestershire sauce, and bring to a boil.
Reduce the heat to medium-low, cover, and simmer until thickened, about 20 to 25 minutes.
Preheat the oven to 400 degrees F.
Meanwhile, place the potatoes in a medium pot and cover with salted water by 1-inch. Bring to a boil and cook until tender, about 10 minutes.
Drain in a colander and return to the pot.
Over low heat, mash the potatoes with a potato masher.
Add the remaining 2 tablespoons of butter, 3/4 teaspoon of salt, 1/2 teaspoon of pepper, and nutmeg, and mash to incorporate.
Add the heavy cream and mix well. Remove from the heat.
Remove the pot with the meat from the heat. Remove the bay leaf.
Spoon into the prepared dish and top with the mashed potatoes, smoothing the top.
Sprinkle the cheese over the top and bake until browned and bubbly on top, 10 to 15 minutes.