First, make the chocolate batter. Preheat the oven to 175 C. Grease a 6x4 loaf pan (see notes) and then line it with non-stick baking paper, leaving a little overhang for easy removal and set aside.
In a mixing bowl, beat the butter and sugar till pale and fluffy, using a hand mixer on medium speed for best results. This is a small amount of butter and sugar so it won't become super creamy, that's ok. Add the egg and vanilla, beat to combine.
Sift in the flour, cocoa, baking powder and salt together into the bowl. Fold to combine into a thick batter, then slowly stir in the milk. Spread into the prepared tin and smoothen the top.
Bake for 25 to 30 minutes or until a toothpick poked in the center comes out clean. Set aside to cool in the tin for about 15 minutes, then lift using the overhang and place on a wire rack to cool for another 20 minutes.
Now place the cake in the fridge for 20 minutes to help firm it up. Then, slice it in half horizontally. Use a 1-inch wide heart-shaped cookie cutter to cut out the hearts. (See photos below). I got about 10 hearts and ended up fitting 8 of them in the vanilla batter. Place the hearts on a tray and freeze while you complete the next steps. Pro tip: also freeze the cake scraps and crumble them over ice cream!
Rinse and thoroughly dry your cake pan, mixing bowl and beaters, along with any spoons or spatulas you plan to reuse. Make sure there is no chocolate batter left on anything. Grease and line your loaf pan again.
Now make the vanilla batter. Follow the same method as the chocolate batter, (beat the butter and sugar, add eggs and vanilla, then fold in dry ingredients and stir in the milk), except that this time, you're not adding any cocoa.
Get the frozen chocolate hearts out and spread a thick layer of the vanilla batter on the bottom and sides of the loaf tin, making sure you have enough reserved for the top. Arrange the chocolate hearts close together in one straight line, in the center of the tin. Spoon the remaining batter around the edges and on the top, making sure the hearts are completely covered.
Bake for 30 to 35 minutes, until a toothpick poked in the center or just around it, comes out clean. If the top is browning too fast but the center is still raw, cover the pan loosely with foil and bake for another 5 to 10 minutes.
When the cake is done, allow it cool in the tin for 20 minutes, then remove it using the paper overhang and place on a wire rack to cool completely.
To make the topping, combine the chocolate chips and butter in a microwave-safe bowl and heat on high in ten second increments, until melted. Do not over heat the chocolate, stir gently to melt down any lumps that may remain. Spread immediately onto the top of the cake. Slice and dig in!
This cake is best eaten immediately when it's soft and buttery. It can be stored in an airtight tin at room temperature for 2 to 3 days, but if it's hot and humid, store it in the fridge for a week. Butter cakes can dry up or harden once refrigerated, so bring the slices back to room temperature before eating, or gently reheat to restore softness. Happy baking!