Oh my God. This is one of those recipes that doesn't try to fool you, but you still can't believe it's vegan, to the point that you almost feel guilty eating it! I got it from vegcooking.com, but modified the hell out of it to the point that it became my own. Sorry that when I cook, I don't measure out a lot of stuff. I just eyeball it and it comes out awesome.
Scrub a bunch of potatoes, cut them into manageable pieces (about 2 inch squares or so is fine) and boil them in water until they are really soft.
In a large skillet, saute some veggies. Traditional shepherd's pie uses peas, but D hates peas, and this meal was geared toward him, so I left them out. I used (in this order): carrots, onions, green beans, corn, zucchini, and garlic. Feel free to add or subtract when you make this. The Peta recipe called for a ground beef substitute, but D is not a fan of fake-outs, so I left that out and just used veggies.
In my saucier, I saute an onion & some garlic, and then make a good amount of roux with the onions in it (using flour and vegan margarine, about 1/4 cup each). Then I add red wine and vegetable broth (more broth than wine) until it's a gravy consistency, and throw in some mushrooms and a few tablespoons of soy sauce.
Toss the veggies with the gravy. Dump them all into a large baking pan, or use 2 or 3 pie pans so you can have leftovers! Drain the potatoes, throw in some vegan margarine, a little vegetable broth or soy milk, vegan sour cream if desired, salt, pepper, and garlic; chives or parsley optional. Mash with a fork. You can use a mixer, but you don't need to. You want a thicker mashed potato consistency. Spread your mashed potatoes over the veggie mixture. Bake until the potatoes are lightly browned on top; about 350 for 30 minutes or so.
Feel free to play around with seasonings--sage, rosemary, and thyme combo; caraway adds an interesting flavor; extra garlic goes nicely; whatever you like.