Make the Lentil Filling. Heat the olive oil in an ovenproof* 12-inch sauté pan over medium-high heat until shimmering. *NOTE: If your pan isn't ovenproof, just transfer the cooked filling to a baking pan before baking. Add the onions with a couple pinches of salt and sauté for 10 to 12 minutes, or until most of the onions are browned, stirring occasionally to prevent burning. If they brown unevenly, add a splash of water and/or reduce the heat a touch. Add the garlic, thyme, and rosemary, stirring frequently for 2 minutes.
Add the tomato paste and stir very frequently for 2 to 3 minutes, or until it darkens in color. Reduce the heat to medium, as needed to prevent burning.
Pour in the red wine and deglaze the pan, stirring up any browned bits, until the liquid has mostly evaporated and the smell of alcohol has cooked off, 3 to 4 minutes.
Stir in the vegetable broth, lentils, bay leaves, and paprika. Bring to a boil, then reduce the heat to maintain a rapid simmer—constant, steady bubbles across most of the pan. Cook at a rapid simmer until the lentils are just tender (not super soft) and most of the liquid has been absorbed, about 30 minutes (see Note 7). Turn the heat to low. Add the tahini, tamari, balsamic vinegar, and vegan Worcestershire sauce (if using). Stir until well incorporated and creamy. Taste for seasonings, adding a generous amount of salt (I use about 1 teaspoon kosher salt) and black pepper to taste. Set aside.
Make the Mashed Potato Topping. Peel the potatoes and then rinse them under cold water. Chop the potatoes into eighths.
Place the potatoes and cauliflower florets in a large saucepan or Dutch oven and add just enough water to cover. Add 1 1/2 teaspoons kosher salt and stir to combine. Place the rosemary sprig on top. Bring to a boil and cook until both potatoes and cauliflower are fork-tender and are very soft when poked, about 15 minutes.
Thoroughly drain the potatoes and cauliflower in a colander and discard the rosemary sprig. For the potatoes, pat them dry with paper towels or a clean dish towel. For the cauliflower, you’ll need to squeeze out the excess water or it’ll be very watery.NOTE: See the “Tips” section in the post for details on how to squeeze out the excess water. Return the vegetables to the pan or transfer them to a large bowl. Add in the softened butter, plant milk, and nutritional yeast. Season with salt and pepper to taste. Mash using either a potato masher or immersion blender (see Note 5). Taste for seasonings, adding more salt as needed (I used about 1 teaspoon kosher salt). Assemble. Preheat the oven to 375°F/190°C. If your skillet is ovenproof and has enough space, leave the Lentil Filling in there. If not, transfer it to a large (3 quart/3 liter) baking dish. Smooth the Lentil Filling out. Then, spoon the Mashed Potato Topping on top, spreading it out to cover the whole surface. Drizzle the top with extra virgin olive oil and a few pinches of salt and pepper. Bake for 20 minutes, or until the lentil filling starts to bubble up. Remove from the oven and turn on the oven's broiler. Place the pan under the broiler for a few minutes until the crust is golden brown. To finish, drizzle with more olive oil and garnish with fresh parsley, if desired. Note: if you want the pie to solidify more, allow it to rest for at least 20 minutes in the pan. Store any leftovers in an airtight container in the fridge for up to 4 days (or freeze up to 3 months).