Preheat oven to 350°F (175°C). Grease and flour an 8-inch square baking pan.
In a medium bowl, whisk together flour, baking powder, and salt. Set aside.
In a large bowl, cream butter and sugar until light and fluffy. Beat in eggs one at a time, then stir in vanilla.
Mix in sour cream until combined, then gradually add dry ingredients. Fold in blueberries gently.
In another bowl, beat cream cheese, sugar, egg, and vanilla for the swirl until smooth.
Pour half of the batter into the prepared pan. Dollop half the cream cheese mixture on top and swirl with a knife. Repeat with remaining batter and cream cheese mixture.
For the crumb topping, mix flour, brown sugar, and cinnamon. Cut in cold butter until coarse crumbs form. Sprinkle over cake.
Bake for 45–50 minutes, or until a toothpick inserted in the center comes out clean or with slight moisture from cream cheese.
Cool the cake in the pan before slicing and serving.