A moist, 2-layer chocolate cake that's filled and topped with dairy-free buttercream.
Preheat your oven to 180°C/350°F (or 160°C/325°F if you're using a fan or convection oven).
Grease, flour and line two 7-inch cake tins.
Mix the soy milk and vinegar together in a small bowl and set aside. This will become vegan "buttermilk".
In a large bowl, mix together the flour, baking soda, cocoa powder and sugar.
Add the vegan buttermilk to the bowl along with the melted butter and vanilla. Mix well until you have a smooth cake batter. Make sure to get any dry bits from the edges and bottom of the bowl.
Divide the batter between the two cake tins and bake for 15-20 minutes. You can check if they're ready by inserting a toothpick through the centre. You'll know they're done when the toothpick comes out clean.
Leave the cakes to cool in the tins for 5 minutes then flip them out onto a wire rack. Peel off the baking paper and leave them to cool completely.
Melt the chocolate gently until it's smooth with no lumps. Set it aside to cool.
Soften the butter slightly in a large bowl by mixing it with a wooden spoon. Add the icing sugar little by little and mix well.
Pour in the soy milk and mix it in. I recommend using a stand mixer or electric whisk if you have one. The buttercream should look runnier than a usual frosting.
Once the chocolate has cooled, add it to the buttercream*. Give it another good whisk for 1-2 minutes until it becomes fluffy.
Place the first cooled cake layer onto a plate or cake stand. Spread a generous layer of buttercream over it.
Stack the second cake layer on top and repeat. Then spread the frosting around the edges until the whole cake is covered.
Top with chocolate shavings if desired.
Place the cake in the fridge for 1 hour to let the buttercream set, then cut into slices and enjoy!