Heat oven to 180C/160C fan/gas 4. Grease and line a 20 x 30cm tin with baking parchment. Finely chop 150g of the dark chocolate, and roughly chop the remaining dark chocolate and the white chocolate. Put the finely chopped chocolate in a bowl and melt over a small pan of gently simmering water, or in the microwave. Set aside to cool a little.
Put the butter and 350g of the sugar in a bowl, and beat until light and fluffy. Add 4 of the eggs, one at a time, beating well between each addition, then sift in the flour, cocoa, baking powder and a good pinch of salt. Finally, stir in the melted chocolate and the chopped chocolate chunks. Scrape the mixture into the prepared tin and smooth the surface.
Working quickly, tip the cream cheese into a bowl and beat to soften with a spatula. Add the remaining egg, flour and sugar, and mix until just combined. Spoon blobs of the cream cheese mixture onto the brownie until all used up, and use the end of a cutlery knife or a skewer to swirl the 2 mixtures together to create a marbled effect. Bake for 30 mins until just set – it should still have a little wobble when it comes out of the oven, and a skewer inserted into the centre should come out with sticky crumbs. Cool completely in the tin before cutting into squares to serve.