Preheat your oven to 350°F (175°C) and position a rack in the center. Grease and flour a 9-inch springform pan or bundt pan.
In a medium bowl, whisk together flour, baking powder, baking soda, and salt until evenly combined.
Using an electric mixer, beat the softened butter and sugar together on medium-high speed for 3-4 minutes until light and fluffy.
Add eggs one at a time, beating well after each addition. Scrape down the sides of the bowl as needed. Mix in vanilla extract.
Gradually add the flour mixture to the butter mixture in three parts, alternating with the sour cream (begin and end with flour). Mix on low speed just until combined after each addition.
Gently fold in the blueberries using a spatula, not a mixer.
In a small bowl, combine brown sugar, flour, and cinnamon for the streusel topping. Cut in the cold butter using a pastry blender or your fingertips until the mixture resembles coarse crumbs. Stir in nuts if using.
Pour half the batter into the prepared pan, sprinkle with half the streusel, add remaining batter, and top with the rest of the streusel.
Bake for 45-50 minutes, or until a toothpick inserted in the center comes out clean with a few moist crumbs.
Allow the cake to cool in the pan for 15-20 minutes before removing to a wire rack.