Preheat oven to 350°F. Line a 8x8 inch baking pan with baking parchment and spray with oil.
In a large bowl, beat the butter and both sugars with an electric mixer until creamy, about 5 minutes. Add the eggs and continue beating until light in color and foamy. Stir in the coconut milk and Ube Halaya.
Sift the remaining cake ingredients into the bowl and stir everything into a dense batter. Pour the batter into the prepared baking pan.
To make the streusel topping crumble all topping ingredients together in a small bowl until crumbs form. Scatter evenly over the batter.
Bake the cake for 40-45 minutes, or until a toothpick inserted comes out just clean. Cool in the pan on a wire rack for 30 minutes, then serve warm.