Remove the pits and chop the dates in small pieces. (This part will be sticky and messy but just do the best you can. It doesn't have to be perfect!) Add the chopped dates and water to a small saucepan.
Bring the dates to a simmer over medium low and then let the mixture simmer for 10-12 minutes until thick and resembling jam (see photos). Mash the dates with a rubber spatula or wooden spoon while they simmer. The mixture should be about 1 ¼ cups worth or roughly 320 g once done cooking. Remove the date mixture from the heat and let it cool to room temperature.
Preheat the oven to 350 degrees F (180 degrees C). Spray a 9x9 inch (23x23 cm) pan with non-stick spray and line it with parchment paper.
In a medium bowl, combine the flour, baking powder, baking soda, and salt. Then set aside the flour mixture.
Add the granulated white sugar, brown sugar and butter to a large bowl. Cream together for 2 minutes with an electric mixer on high speed. (You can also use the bowl of a stand mixer fit with a paddle attachment.)
To the butter mixture, add in the eggs, molasses and vanilla and mix on medium speed until pale in color and smooth, about 1 minute.
Add in the date mixture and mix on medium speed until combined. The batter will look separated at this point but it will pull back together once the dry ingredients are added in.
Add the dry ingredients and buttermilk a little bit at a time to the molasses mixture, mixing on low speed just until all is combined and the batter is smooth. Scrape the sides of the bowl with a rubber spatula as necessary.
Pour the cake batter into the prepared pan. Bake the cake for 42-45 minutes or until a cake tester comes out clean from the center. (44 minutes is usually perfect.)
Let the warm cake cool in the pan on a wire rack until completely cool.
While the cake bakes, make the easy toffee sauce. Add the butter and brown sugar to a medium saucepan. Bring it to a simmer over medium heat and let it simmer for 5 minutes, stirring occasionally.
Reduce the heat to medium-low heat and whisk in the cream. Let the mixture simmer for 1-2 minutes.
Remove from the heat, then mix in the vanilla and salt. Pour the hot toffee sauce into a bowl and let it cool on the counter to room temperature.
Add the butter to a large mixing bowl and mix on high speed with an electric mixer until pale and fluffy, about 5 minutes.(If using a stand mixer, use a whisk attachment.)
Then add in the cream cheese and mix on high speed until fluffy, about 1 minute.
Sift in the powdered sugar and add in the vanilla. Mix on low speed until combined. Then mix on high speed until fluffy again.
When the cake is completely cooled, carefully pull up on the parchment paper to release the cake. Cut a very thin layer of the top of the cake off using a sharp knife. This will make it easier for the toffee sauce to absorb into the cake. Transfer it to a serving plate. Poke holes on the top of the cake using a wooden stick or the handle of a wooden spoon.(I used the handle of a honey dipper for smaller holes.)
Slowly pour about ¾ of the toffee sauce on top of the cake. Use an offset spatula to smooth the sauce out and help to move it into all the holes. The sauce is thin so it should absorb into the cake and the poked holes easily.
Frost the top of the cake with a thick layer of cream cheese frosting. Drizzle extra toffee sauce on top of the frosting and gently swirl it into the frosting with the back of a spoon. Then cut into 16 squares and serve! If you have leftover toffee sauce, drizzle it over each piece of cake when serving.
