Preheat the oven to 180°C/160°C fan/350°F/gas mark 4. Grease two 15 cm (6 in) round cake tins, or one 20 cm (8 in) round, 5 cm (2 in) deep one and line the bases with baking parchment.
In a large bowl, whisk together the flour, ground almonds, cornflour, baking powder, bicarbonate of soda, xanthan gum, espresso powder and a pinch of salt.
In a jug, whisk together the melted butter, oil, yogurt, milk, sugar, vinegar and vanilla extract.
Pour the wet ingredients into the dry and stir with a balloon whisk until you have a smooth batter. Fold in the walnuts.
Divide the batter evenly between the tins and bake for about 30 minutes until a skewer inserted into the centre comes out clean.
Leave the cakes to cool in the tins for 10 minutes then carefully turn them out onto a wire rack and leave to cool completely.
To malke the buttercream, mix together the espresso powder and milk to form a paste.
Whisk the butter with an electric mixer for a couple of minutes until fluffy. Add the icing sugar, coffee paste and vanilla extract.
Stir until the sugar is moistened (the mixture will seem dry at first but will come together, don't be tempted to add any more liquid or it may split), then whisk on a high speed for a good few minutes until light and fluffy
Place one of the cake layers on a plate and spread over half of the buttercream. Place the other cake layer on top, spread with the rest of the buttercream and decorate with walnuts.