First, make the ganache. Melt the chocolate and sugar together in a heatproof bowl set over a pan of gently simmering water, ensuring the bottom of the bowl doesn’t touch the water. Leave to cool slightly. Beat the tofu in a medium bowl with an electric whisk until smooth. Add the melted chocolate mixture and beat for 1-2 mins more until thickened and smooth. Set aside in a cool place.
Heat the oven to 180C/160C fan/gas 4. Butter and line a 33 x 23cm Swiss roll tin with baking parchment. Mix the milk and vinegar together in a jug, then set aside to thicken slightly. Whisk the flour, 50g sugar, baking powder and cocoa powder together until combined. Whisk the melted margarine into the milk mixture and gradually pour this into the dry ingredients, whisking continuously until smooth. Pour into the tin, smooth the surface and bake for 20 mins. Leave to cool in the tin for 5 mins.
Sprinkle the 2 tbsp sugar over a large sheet of baking parchment. Turn the warm sponge out onto the sugared parchment, then peel off the parchment used to line the tin. Roll up the sponge from one of the short ends, using the sugared parchment to help you. While rolled up, cover with a tea towel and leave to cool completely (rolling the sponge while warm helps prevent large cracks). Don’t worry if there are small cracks – they’ll be hidden by the ganache.
Make the icing by whisking the margarine, icing sugar and vanilla together until pale and fluffy. Unroll the cooled sponge carefully, then spread the icing over using a palette knife, keeping a roughly 5cm border on the short end of the roll. Roll the sponge up again.
Stir the ganache to loosen it, then spread over the yule log with a palette knife. Drag a fork down the length of the log several times to create a bark-like pattern. Chill for 30 mins. Will keep in the fridge for up to three days. Decorate with berries and holly, or dust with icing sugar, if you like.