In a large skillet over medium-high heat, heat butter until foaming. Add onion and chopped carrots and cook for 4 minutes, add garlic and mushrooms and cook for about 3 more minutes until carrots are soft.
Add meat to the pan, season with 1/2 tsp salt and 1/4 tsp pepper. Cook, breaking up the meat into small pieces with a wooden spoon, until browned.
Stir in tomato paste and flour and cook for 1 more minute. Pour in beer to deglaze the pan. Then add broth, Worcestershire sauce, mustard, and thyme and simmer over medium heat, stirring frequently, until mixture is thick and saucy, about 15 minutes.
Preheat oven to 400 degrees F.
Boil the potatoes for 10 minutes in saltwater. Drain. Melt butter in pot, add cream, add potatoes, mash, season with salt (about 1 tsp), stir in cheddar.
Spread potatoes over filling, using a spatula to smooth the top. Brush with egg and drag fork across top to make ridges.
Bake until filling is bubbling, about 15 minutes. Turn on broiler and cook until top is golden brown, 3 to 5 minutes. Remove from oven and serve.