Place the potatoes in a large pot and cover with water. Boil until tender all the way through.
Drain the potatoes and peel them when they are cool enough to handle. Place them in a bowl and add the milk, butter and salt and mash.
While the potatoes cook, make the roux. Warm the oil in a large pan over medium-low heat. Sprinkle over the flour and stir well to remove the lumps.
Allow the flour-oil mixture to cook, stirring almost continuously with a wooden spoon or a whisk, until it reaches a dark chocolate color. This will take about 15-30 minutes depending how low the heat is (the slower it cooks, the more flavor it develops so err on the side of slow!). Stir frequently so that it doesn't burn. This roux not only thickens the gravy but also adds amazing flavor to the shepherd’s pie. The darker the roux, the more flavor.
Preheat the oven to 400 f / 200 c.
Once the roux is dark, add the onions and celery. Fry, stirring frequently, until tender - about 5 minutes. Add the carrots and garlic and fry until beginning to soften - about 5 minutes.
Add the tomato paste, thyme, and bay leaves. Fry for about 2 minutes until the tomato paste darkens in color.
Add the lentils and vegetable stock. Raise the heat to bring to a boil and stir well to dissolve the flour. Reduce the heat to a simmer and simmer until thickened and the carrots are cooked all the way through - about 5 minutes.
Here you can adjust the consistency of your filling. If it’s too liquid, allow it to simmer down for a few minutes. If it’s not saucy enough, add another splash of vegetable stock.
Add the frozen peas, soy sauce and salt if you think it’s necessary. Remove the bay leaves and pour the lentil mixture into a large baking dish. Place dollops of mashed potatoes all over the lentil mixture and spread it out with a spoon. Run a fork over the potatoes to create texture that will crisp in the oven.
Bake until the mashed potato topping is golden brown with some crispy bits and the lentil filling is bubbling - about 20 to 25 minutes. You can also put in until the broiler for a minute or two to help brown the top.
Let stand for 5 - 10 minutes before serving to thicken up so it doesn't fall apart when slicing.