Boil the potatoes: Place the potatoes in a medium saucepan and add enough cool water to cover them by 1 inch. Cover the pot and bring to a boil over high heat. As soon as the water is boiling, uncover, then reduce the heat to a simmer. Cook, adjusting the heat as needed to maintain a gentle, steady simmer, until potatoes are fork tender, about 12 to 16 minutes. Drain the potatoes and return them to the saucepan. If the potatoes are very moist, heat the saucepan over low, shaking it occasionally, until any liquid on the surface of the potatoes has cooked off, about 1 minute. Remove from the heat.
While the potatoes boil, make the filling: Coat a 9x9, 8x10, or 11x7 casserole dish with nonstick spray. Place a rack in the center of your oven and preheat to 400 degrees F. In a Dutch oven or similar large, deep pot, heat the oil over medium-high heat. Once the oil is hot and shimmering, add the onion. Saute for 3 minutes until it begins to soften.
Add the carrots, parsnips, baby bella and shiitake mushrooms, salt, and pepper. Cook, stirring periodically, until the vegetables are softened and the mushrooms brown, about 10 to 15 minutes.
Add the garlic and tomato paste. Stir continuously for 30 seconds.
Sprinkle the flour over the top of the vegetables. Cook, stirring continuously, for 1 minute.
Add the broth, soy sauce, rosemary sprigs, and bayleaf. With a rubber spatula or wooden spoon, scrape the bottom of the pan to remove any stuck on browned bits. Bring the liquid to a boil, reduce the heat to low, then let simmer gently, stirring every few minutes, until the mixture thickens into a rich veggie-riffic filling, about 8 minutes. Remove the rosemary and bay leaf. Stir in the peas. Taste and adjust the seasoning as desired. Spoon into the prepared dish, spreading it into an even layer.
Finish the potato topping: Once the potatoes have been returned to the pot, with a potato masher or wooden spoon, mash the potatoes well.
Scatter the butter pieces over the top. Add the Parmesan, salt, and pepper. With a wooden spoon or rubber spatula, stir a few times, until the butter is mostly melted. In a small bowl or liquid measuring cup with a spout, whisk together the milk and egg yolk. Add to the potatoes. Stir to combine. The potatoes should be creamy and fluffy.
Spoon the mashed potatoes over the top of the filling, starting around the edges to create a “seal” (this will prevent the filling from bubbling up). With a spatula, gently spread the potatoes into an even layer.
Line a rimmed baking sheet with a piece of parchment paper to catch any drips, then place the dish on top. Bake the vegetarian shepherd's pie on the center rack uncovered for 25 minutes, or until the potatoes begin to brown. Let cool 10 minutes prior to serving.
Notes
TO STORE: Refrigerate shepherd's pie in an airtight storage container for up to 4 days.
TO REHEAT: Rewarm leftovers in a baking dish in the oven at 350 degrees F or in the microwave.
TO FREEZE: Freeze leftovers in an airtight, freezer-safe storage container for up to 3 months. Let thaw overnight in the refrigerator before reheating.