Preheat the oven to 350°F. Butter and line a 9-inch square baking dish with parchment paper. Leave paper to overhang on both sides to help remove the brownies once baked.
Set a medium heat-proof bowl over a pan of simmering water, making sure the bottom does not touch the water. Add the chocolate and butter and melt, stirring frequently. Once melted and smooth, remove the bowl from the pan and set aside to cool slightly.
Once cooled, add the sugar and vanilla and mix until combined. Stir in the eggs followed by the salt and flour and mix until smooth. Pour into prepared pan and bake for approximately 25-30 minutes, or until a toothpick inserted in the center comes out clean. Remove from the oven and set the pan on a wire rack to cool.
While the brownies are cooling, make the ganache. Heat the cream in a pot until just boiling. Remove from the heat and add in the chopped chocolate. Stir until completely melted and well mixed. Allow the ganache to cool at room temperature for a couple of minutes. Do not refrigerate or it will become too hard to spread.
While the ganache is cooling, melt the white chocolate in bowl also over a pot of barely simmering water. Once melted, transfer the chocolate to a plastic food storage bag or disposable piping bag.
Using a spatula, spread the ganache evenly over the brownies. Next, snip a small hole in the corner of the plastic bag with the white chocolate inside it and drizzle diagonally across the brownies in straight lines. Take a toothpick and pull it gently through the white lines to create a swirl effect. Transfer the pan to the refrigerator and chill for at least 1 hour. When ready to serve, remove the brownies from the pan and slice into squares.
Here is a video of making brownies with the kids!