Preheat the oven. Set your oven to 350°F (175°C). Grease a 9-inch round or square baking pan with butter or non-stick spray.
Prepare the dry ingredients. In a medium bowl, whisk together flour, baking powder, baking soda, and salt. Set aside.
Cream the butter and sugar. In a large mixing bowl, beat butter and sugar until light and fluffy (2–3 minutes) using a hand or stand mixer.
Add the eggs. Beat in eggs one at a time, ensuring each is fully incorporated before adding the next.
Mix in lemon and vanilla. Stir in vanilla extract, lemon zest, and lemon juice until well combined.
Incorporate the sour cream. Add sour cream or Greek yogurt, mixing until smooth.
Combine wet and dry ingredients. Gradually add the dry ingredients to the wet ingredients, stirring gently until just combined.
Fold in the blueberries. Toss blueberries with flour and gently fold them into the batter.
Prepare the streusel topping. In a small bowl, mix flour, brown sugar, and cinnamon. Stir in melted butter until crumbs form.
Assemble the cake. Pour the batter into the prepared pan and sprinkle the streusel topping evenly over the top.
Bake the cake. Bake for 40–45 minutes, or until a toothpick inserted in the center comes out clean.
Cool the cake. Let the cake cool in the pan for 10–15 minutes, then transfer it to a wire rack to cool completely.
Make the lemon glaze (optional). In a small bowl, whisk together powdered sugar and lemon juice until smooth.
Drizzle and serve. Once the cake has cooled, drizzle the glaze over the top, slice, and enjoy!