Preheat your oven to 180°C (350°F). Line an 8x8 inch (20 cm) square baking pan with parchment paper, letting the sides hang for easy removal.
Mix the wet ingredients: In a large bowl, whisk together the eggs, melted butter, vanilla extract, buttermilk, white sugar, and brown sugar until smooth and well combined.
Combine dry ingredients: In a separate bowl, sift together the all-purpose flour, baking powder, baking soda, and salt.
Combine wet and dry: Gradually add the dry ingredients to the wet mixture, stirring gently with a spatula or wooden spoon until just combined. Avoid overmixing.
Fold in blueberries: Toss the blueberries in a small spoonful of flour (this helps prevent sinking), then fold them into the batter gently.
Transfer to pan: Pour the batter into the prepared baking pan and smooth out the top with a spatula.
Make the crumb topping: In a small bowl, mix the flour, white sugar, brown sugar, and melted butter until crumbly. If it feels too wet, add a bit more flour (1 tablespoon at a time) until you get a crumbly texture.
Add crumb topping: Sprinkle the streusel evenly over the top of the batter.
Bake: Bake for 45–55 minutes, or until a toothpick inserted into the center comes out clean and the top is golden.
Cool: Let the cake cool in the pan for 10–15 minutes, then carefully lift it out using the parchment paper and transfer to a wire rack to cool completely.
Add the drizzle (optional): Whisk together the icing sugar and 1–2 tablespoons of milk until smooth. Drizzle over the cooled cake using a spoon or piping bag.
Slice and enjoy! This cake is perfect warm, room temperature, or even chilled the next day.