Heat oven to 160°C and line or grease a small Swiss roll tin measuring 20 x 30cm.
Place a medium-size saucepan over a medium heat and melt the butter for the chocolate base.
Stir in the cocoa powder and sugar, and mix until smooth.
Remove from the heat, stir in the eggs until completely combined, then stir in the plain flour.
Spread the chocolate base over the prepared tin and bake for 20 mins until firm on top.
Remove from the oven and set aside to cool while you make the hazelnut caramel layer.
Place the cleaned medium-size saucepan back over a medium heat, melt the butter, then add the condensed milk, golden syrup and sugar.
Turn the heat to low and stir continuously for 12-15 mins until the mixture is dark caramel in colour – do not let it burn.
Remove from the heat and stir in the nuts.
Spread evenly over the chocolate base and allow to cool.
Meanwhile, for the topping, melt the chocolate in a bowl sitting over a saucepan of simmering water.
When melted, stir in the oil, then pour over the caramel layer and smooth out, leaving to cool and set in the fridge.
Cut into squares.
These will keep for a week in an airtight container.
This recipe is by Rachel Allen and is reprinted with the permission of the BBC Lifestyle channel.