Place the flour, yeast, sugar and salt in a large bowl or the bowl of a stand mixer fitted with a dough hook and mix to combine.
Stir in the lukewarm non-dairy milk and enough of the water to form a soft, slightly sticky dough. You may not need to add all of the water or you may need a little more.
Knead the dough for about 5 minutes until it is smooth, then add the softened vegan butter/margarine and continue to knead the dough until the butter is fully combined and the dough is smooth and elastic. It should pull away from the sides of the bowl cleanly and feel stretchy. The dough should be slightly sticky but if it feels wet then you can knead in a little bit more flour as needed.
Place the dough in a lightly greased bowl, cover and set aside to rise until it is at least doubled in size, about 1-2 hours at warm room temperature.
Once the dough has risen, punch it down and give it a brief 30 second knead to knock out the air, let it rest for 10 minutes then roll it out on a lightly floured surface into a rectangle about 20 x 38 cm / 8 x 15 in.
Starting at one of the short edges, roll the dough up tightly into a log. It should be about 20 cm / 8 in long.
Grease an 11.5 x 21.5 to 13 x 23 cm / 8.5 x 4.5 to 9 x 5 in loaf tin and place the log in the tin, seam side down.
Loosely cover the tin and set aside to rise in a warm spot until the dough has risen above the top of the tin by about 2.5 cm/1 in. If you gently press it with a finger it should spring back slowly and maybe leave a small indentation. If it springs back quickly it needs to rise for a bit longer. It should take around 45-60 minutes.
While the dough is rising, preheat the oven to 190°c/170°fan/375°F/gas mark 5.
Bake the risen loaf for about 30-35 minutes until it is golden brown and a probe thermometer inserted into the centre reaches 94°C/201°F. If you don't have a thermometer then the loaf should sound hollow if you tap it on the bottom.
Transfer the loaf to a wire rack and leave it to cool completely before slicing.