Grease a 12-tin muffin pan with cooking spray and preheat the oven to 425 F.
Make the streusel topping by mixing all ingredients in a small bowl until well combined.
Whisk the dry ingredients together: flour, baking soda, baking powder, and salt in a large bowl.
Using a stand or handheld mixer, cream the butter, granulated sugar, and brown sugar together on high speed until smooth. Add the eggs, one at a time on medium speed, until well combined, scraping the sides of the bowl after each addition.
Beat in the vanilla extract and sour cream until smooth.
Turn the speed to slow, and add the dry ingredients and milk to the egg/butter mixture until all the flour is incorporated. Do not overmix.
Using a spatula, gently fold in the blueberries.
Spoon the batter into the muffin tins to the top and sprinkle the streusel topping on top, pressing it a little into the batter.
Bake at 425 F for 5 minutes, then without taking the muffins out of the oven, reduce the heat to 350 F and continue baking for 20 minutes or until a toothpick inserted in the middle comes out clean.
Let the muffins cool down in the tins for 5- 10 minutes, then transfer them to a cooling rack.