
This adaptable version of the traditional meat, potatoes, and vegetable dish is perfect for using up leftovers.
Pre-heat the oven to 400° F/204° C
Cut the crunchy vegetables. Which ones you use doesn’t matter as long as they offer a nice array of colors, and are all cut into roughly the size of peas. If you begin to obsess over the size of the pieces, remember that everything gets mixed together except for the potatoes on top. Set them aside in a bowl.
Chop the tomatoes and parsley. Set them aside with the peas.
If using chopped meat/plant-based alternative, cook the meat/alternative until it is no longer red or pink. If there is fat (from meat), drain it off by taking the meat out of the pan with a slotted spoon. Put any drained fat in the freezer in a container for later disposal (Usually I wash and reuse an aluminum can from beans or tomato paste for this purpose, keeping the can in the freezer and adding fat until it is full, when I throw it out. Do not put fat down the sink!!) Set the meat aside in a bowl.
Heat the pan that the meat/plant-based alternative was cooked in and add the oil. When it is hot but not smoking, add the crunchy vegetables and cook them for 5-8 minutes or so. They should remain crisp, but taste cooked.
Add the cooked chopped meat/plant-based alternative back in, add the chopped tomatoes, parsley, peas, herbs, salt, and pepper. Stir and cook the mixture for 2-3 minutes. Add the flour and cook for 2-3 more minutes, stirring to make sure the flour coats the filling ingredients.
Slowly add the broth and Worcestershire sauce/alternative, bring to a boil and simmer the mixture for 5-10 minutes. I had frozen homemade beef broth but boxed or canned works fine. (If you buy broth, consider a low sodium version and if necessary, lessen the amount of salt you add to the vegetables/meat or plant-based alternative mixture.)
You can make this topping ahead of time, while you are cooking the filling, or afterwards. I often have leftover mashed potatoes and so don't need to make them "fresh," but when I don't have any already made, I do this step while I'm cooking the filling, watching the timing on the potatoes so they don't overcook.
Put the potato pieces into a pot with several inches of cold water. Cover and bring the water to a rolling boil and turn the heat down slightly. Continue cooking for about 8-10 minutes until the potato chunks are soft enough for a fork to go through them easily.
Drain most, but not all of the water out of the potatoes – leaving perhaps ⅓ – ½ cup of water in the pot. Add sour cream or mayonnaise,salt and pepper to taste, and mash them. Set the potatoes aside. (I use a handheld electric mixer, but an old-fashioned potato masher or even a mallet will work.) Set the mashed potatoes aside.
Place the filling mixture in the baking dish, top with mashed potatoes (pushing potatoes to the edge of the casserole to seal in the meat and vegetables.) If you like crunchy peaks, run a fork over the top or make indentations before topping the potatoes with dots of butter or alternative and sprinkle paprika over the top.
Bake for 20-30 minutes with a sheet pan underneath the casserole to catch any drippings. Let the shepherd’s pie sit for 5 minutes before cutting it in slices or serving individual ramekins. When served, don't expect the portions to be "clean" slices. Part of the charm of this dish is that it looks rustic.
As mentioned in the post, traditionally the meat in shepherd's pie is lamb. I use whatever I have around. Mixing several types of meat is fine. If my meat is chopped beef, I might add crumbled bacon or finely diced pancetta to provide a bit of extra pizazz.

I call for flat leaf parsley in this recipe, because I much prefer it to curly parsley. But go with what you have or your own preference. Here are photos of my parsley and fresh rosemary.
Instead of Worcestershire sauce, which contains anchovies, consider an alternative if you make this vegetarian or vegan.
I leave the skins on my potatoes. You're welcome to peel them if you prefer.