Cream the butter and sugar together until light and fluffy. Carefully add the flour and stir until the mixture comes together and then mix well until smooth.
Press into the bottom of the baking tin and prick well with a fork. Bake for 25-30 minutes and cool in the tin.
Place the caramel topping ingredients in a saucepan and stir over a medium heat until dissolved. Bring slowly to the boil and cook (stirring) for 5-7 minutes.
Cool slightly and then pour over the top of the shortbread and leave to cool and set.
For the final topping, melt the chocolate with the butter and spread over the top of the caramel. Leave until set and then cut into individual squares or fingers.