Prep the pan and oven: Heat the oven to 350°F (175°C). Grease a 9-inch square baking pan and line it with parchment, leaving overhang for easy lifting.
Make the streusel: In a bowl, combine granulated sugar, brown sugar, flour, cinnamon, and salt.
Stir in melted butter until clumps form. Refrigerate while you make the batter to keep the crumbs firm.
Mix dry ingredients: In a medium bowl, whisk flour, baking powder, baking soda, and salt. Set aside.
Cream butter and sugars: In a large bowl, beat softened butter with granulated and brown sugars on medium speed until light and fluffy, about 2–3 minutes.
Scrape the bowl as needed.
Add eggs and flavor: Beat in eggs one at a time until incorporated. Mix in vanilla and lemon zest. Do not overbeat.
Alternate dry ingredients and buttermilk: On low speed, add one-third of the flour mixture, then half the buttermilk.
Repeat, ending with flour. Mix just until smooth. Overmixing makes the cake dense.
Fold in blueberries: Toss blueberries with 1 tablespoon of flour (taken from the measured flour if you wish) to help prevent sinking.
Gently fold into the batter with a spatula.
Assemble: Spread the batter evenly in the prepared pan. Crumble the chilled streusel evenly over the top, squeezing some into larger clumps for texture.
Bake: Bake for 40–50 minutes, until the top is golden and a toothpick in the center comes out with a few moist crumbs (not wet batter). Start checking at 38 minutes.
Cool: Let the buckle cool in the pan on a rack for at least 20–30 minutes.
Lift out using the parchment and cool a bit more before slicing. This helps the crumb set and the blueberries firm up.
Optional finish: Dust with powdered sugar or add a thin lemon glaze (powdered sugar whisked with a little lemon juice) for shine.