Preheat oven to 350°F and lightly coat a 9x9-inch square pan with nonstick spray.
In a large bowl, cream together granulated sugar and butter until fluffy. Beat in sour cream, eggs, and vanilla until smooth.
In another bowl, mix together flour, baking powder, baking soda, and salt. Carefully mix into the wet ingredients until fully incorporated. Batter will be somewhat thick.
To make the streusel, in a small bowl stir together flour, brown sugar, and cinnamon, breaking up any sugar lumps. Stir in melted butter with a fork until large crumbs form.
Spoon half the batter into the prepared baking pan, spreading to the edges. Sprinkle on half the streusel. Dollop on the remaining batter and spread over the streusel carefully. (It's fine if it does not cover the filling.) Sprinkle on the remaining streusel.
Bake for 35-45 minutes, until a toothpick inserted into the center comes out with only moist crumbs. Let cool, then slice and serve.