Preheat oven to 160°C. Lightly grease a 20cm x 30cm slice tin and line with baking paper.
Place the chocolate, butter and a pinch of salt flakes in a small saucepan over low heat and stir until melted and smooth. Set aside and allow to cool slightly.
Place the sugar, eggs, flour and cocoa in a large bowl and whisk to combine. Add the chocolate mixture and whisk until well combined. Pour the mixture into the prepared baking tin and bake for 30 minutes or until a skewer inserted into the centre comes out clean. Allow to cool completely either at room temperature or in the fridge.
To make the caramel sauce, place the cream and butter in a small saucepan over medium heat until the butter is melted. Remove from the heat and set aside.
Place the sugar and water into a clean small, deep saucepan over high heat and using a metal spoon, stir to combine. Bring to the boil and cook without stirring until the mixture is golden. Swirl the saucepan every now and then and use a wet pastry brush to brush down sides and remove sugar crystals.
Once golden, immediately remove from the heat and add cream mixture carefully in a steady stream. Stir to combine but be careful as the mixture will bubble and release steam. Return the pan to low heat and stir for 5 minutes or until the caramel has slightly thickened. Pour onto the cooled brownie and refrigerate for 4 to 5 hours or until firm. Cut into squares and sprinkle with the sea salt flakes before serving. Serve with ice-cream.