2 cups all-purpose flour
1 teaspoon baking powder
1 teaspoon baking soda
1/2 teaspoon salt
1/2 cup unsalted butter, softened
1 cup granulated sugar
2 large eggs
1 teaspoon pure vanilla extract
1 cup sour cream
1 1/2 cups fresh or frozen blueberries (if using frozen, do not thaw)
FOR THE STREUSEL TOPPING:
1/2 cup granulated sugar
1/2 cup all-purpose flour
1/4 cup unsalted butter, chilled and cubed
1 teaspoon ground cinnamon
FOR THE GLAZE (OPTIONAL):
1/2 cup powdered sugar
2-3 tablespoons milk
1/2 teaspoon pure vanilla extract