1. Preheat oven to 350 F. Line an 8x8 square baking pan with an aluminum foil sling. Spray with nonstick cooking spray and set aside.
2. Put the chocolates, butter and cocoa in a medium heatproof bowl and set over a pan of simmering water. Melt the chocolates and butter, stirring occasionally until smooth. Remove from heat and set aside to cool.
3. In another medium bowl whisk together the eggs, sugar, vanilla and salt until combined. Whisk the warm chocolate mixture into the egg mixture. Stir in the flour with a wooden spoon until just combined.
4. Pour the mixture into the prepared pan, spread into the corners, and smooth out the top. Dollop spoonfuls of the dulce de leche all over the top. Take the spoon and swirl the caramel into the brownie mixture.
5. Bake in the oven for approximately 35-40 minutes or until a toothpick inserted in the center comes out with a small amount of sticky crumbs clinging to it.
6. Let cool completely. Remove the foil sling from the brownie and cut in to squares.