Preheat the oven to 170°C (150°C fan)/325°F/gas 3.
To make the biscuit base, put the butter, sugar and both types of flour into a large bowl. Use your fingertips to rub the butter into the other ingredients until the mixture looks really crumbly. Press the mixture into a 23 x 30cm loose-bottomed cake tin (no need to line) and use a palette knife to even out the surface. Bake for 20 minutes, then remove from the oven and cool in the tin on a wire rack.
To make the caramel filling, combine the dulce de leche, butter and sugar in a large saucepan over a medium heat. Whisking the mixture, bring to the boil (be careful as the mixture will be extremely hot).
Pour evenly over the biscuit base, cover and leave to set for at least four hours or overnight at room temperature.
To make the topping, put the chocolate and butter into a medium heavy-based pan and gently heat. Once everything has melted, whisk to combine. Cool slightly, then pour over the caramel and level with a palette knife. Cover, then leave to set overnight at room temperature.
Cut into 12 squares to serve.