To make mashed potatoes, cut the potatoes into medium chunks.
Put the potatoes into a large pot and add water enough to cover the potatoes.
Add salt and bring it to boil over medium high heat. Cook until potatoes are soft, about 15 minutes.
Reserve about 1 cup of water, and drain the potatoes.
Add milk, mayo and butter into the potatoes and mash it until nice and fluffy. If needed, add reserved cooking water to thin the potatoes to the desired consistency. (Note: If you’d rather use leftover mashed potatoes, you’ll need 4-5 cups of mashed potatoes.)
Preheat the oven to 400°F (200°C).
While potatoes are cooking, finely chop celery and grate carrots on large box grater.
In a large mixing bowl, combine ground beef, grated carrots, chopped celery, frozen peas, Worcestershire sauce and salt. Mix until well combined.
Transfer the meat mixture into 9×13-inch (23x33cm) baking dish and spread it evenly.
Add the mashed potatoes over the meat mixture and spread it evenly.
Bake for 40 minutes.
To make the gravy, melt butter over medium heat.
Add flour and whisk continuously until the mixture forms into a ball, about 2 minutes. Be careful not to burn the mixture. This’s called roux, which thickens the gravy.
Slowly add beef broth into the roux and cook until nice and thick, stirring constantly. Salt and pepper to taste.
Serve the shepherd’s pie with gravy on the side.