Heat the oven to 350°F and butter a 9-inch square baking pan.
Whisk 2 cups flour, baking powder and salt; in another bowl beat the softened butter and granulated sugar until combined, then beat in the egg and vanilla.
Add the flour mixture in three additions alternating with the milk, then fold in the blueberries and spread the thick batter in the pan.
Rub the remaining flour, brown sugar, cinnamon and cold butter into coarse crumbs.
Scatter the streusel evenly over the batter.
Bake for 42 to 47 minutes until the center springs back and a tester comes out without wet batter; cool 30 minutes before cutting.