01 - Preheat oven to 350°F. Grease and flour a 9-inch round or square baking pan.
02 - Whisk together flour, baking powder, baking soda, and salt in a medium bowl.
03 - In a large bowl, beat softened butter and sugar until light and fluffy. Add eggs one at a time, mixing well after each addition. Stir in lemon zest, lemon juice, and vanilla extract until blended.
04 - Add half of the flour mixture to the wet ingredients, blending gently. Mix in sour cream, then add remaining flour mixture. Stir just until combined, taking care not to overmix.
05 - Carefully fold fresh or frozen blueberries into the batter.
06 - Evenly spread the batter into the prepared baking pan.
07 - In a small bowl, combine flour, sugar, cinnamon, and salt. Cut in cold butter until mixture resembles coarse crumbs. Sprinkle streusel evenly over the batter.
08 - Bake for 40 to 45 minutes, or until a toothpick inserted in the center emerges clean.
09 - Allow cake to cool in the pan for 15 minutes. If desired, whisk powdered sugar with lemon juice and drizzle over the cooled cake before serving.