Make the cake:
Preheat the oven to 350°F. Grease an 8-inch square baking pan with nonstick cooking spray.
In a small saucepan, combine the bittersweet chocolate with 1 cup (250ml) water over low heat. Cook, stirring frequently, for about 5 minutes or until the chocolate melts. Set aside to cool.
In a medium bowl whisk together the flour, cocoa powder, baking powder, and salt.
In the bowl of an electric mixer, beat the butter and sugar until light and fluffy. Add the eggs, one at a time, beating well after each addition. Add the flour and melted chocolate mixture to the bowl, in alternating batches, until everything is just combined.
Spread the batter evenly into the prepared pan. Bake for about 40 minutes, or until a cake tester inserted into the center of the cake comes out clean. Let cool for 30 minutes.
Make the topping:
Meanwhile, place the milk chocolate in a heatproof bowl. Pour the cream into a small saucepan set over medium-high heat and bring to a boil. Pour over the chopped chocolate and let stand for 5 to 10 minutes to allow the hot cream to melt the chocolate. Whisk until smooth.
Cover with plastic wrap and refrigerate for 30 minutes, or until just firm. Using an electric mixer, beat the mixture until smooth and creamy, about 2 minutes.
Finish the cake:
Once the cake has cooled for 30 minutes, place it on a serving plate. Use the end of a wooden skewer to pierce the cake all over in 1-inch intervals.
If needed, warm the caramel over the stove or in the microwave to make more pourable. Carefully pour the caramel into each hole. Spread the top with the chocolate topping then sprinkle with chocolate chips. Cut into squares and serve with any remaining caramel.