Preheat oven to 350 degrees F. Grease and line with parchment paper two 8 inch round baking tins. Set aside.
Put the chocolate in a double boiler set over simmering water. Stir until it melts, about 3-5 minutes. Remove from heat to cool slightly.
Sift together the flour, baking powder and salt in a medium bowl.
In the bowl of your electric mixer, add the butter and sugar. Mix on high speed for 3-5 minutes. It should be pale and fluffy. Beat in the vanilla. Add the eggs, one at a time mixing well after each addition. Beat in the chocolate until combined. Fold in half of the flour. Pour in the milk and stir to combine. Fold in the remaining flour and stir to combine.
Pour the batter evenly into the two prepared baking tins. Bake for 20-25 minutes or when a toothpick comes out clean.
Put the condensed milk in a double boiler set over simmering water. Leave it to caramelize for about 25 minutes, stirring occasionally. Remove from heat.
Remove from oven and leave a few minutes to cool. Turn out the cakes on a cooling rack and remove parchment paper. Leave to cool completely.
Put the bottom layer of the cake on your cake plate. Pour over half of the caramel and spread it out evenly. Put the other layer on top and pour over the remaining caramel. Spoon over evenly. Sprinkle over the chopped walnuts.
This cake is best at room temperature but can be stored in the fridge for several days.