Preheat your oven to 350°F (180°C) and grease a 9x9 inch baking pan with cooking spray or butter. You can also line the pan with parchment paper for easier removal.
In a large mixing bowl, whisk together the flour, sugar, baking powder, baking soda, and salt until well combined.
In a separate bowl, beat the sour cream, butter, eggs, and vanilla extract until smooth and creamy.
Add the wet mixture to the dry mixture and stir until just combined. Do not overmix or the cake may become tough.
Pour the batter into the prepared pan and spread it evenly with a spatula.
In a small bowl, mix together the flour, brown sugar, and cinnamon for the streusel topping.
Drizzle the melted butter over the flour mixture and stir until crumbly. You can use a fork or your fingers to break up any large clumps.
Sprinkle the streusel mixture over the cake batter, covering it completely.
Bake the cake for 35-40 minutes, or until a toothpick inserted into the center comes out clean. The streusel should be golden brown and slightly crunchy.