Heat oven to 350°F (175°C). Grease a 9x13-inch baking dish.
In a bowl, whisk together flour, baking powder, baking soda, and salt.
In another bowl, cream butter and sugar until fluffy. Beat in eggs, vanilla, and sour cream.
Gradually add dry ingredients to wet mixture until smooth.
Spread half the batter in the pan. Sprinkle with cinnamon filling. Top with remaining batter.
In a small bowl, mix streusel ingredients with a pastry cutter or fork until crumbly. Sprinkle evenly over batter.
Bake 40–45 minutes, until a toothpick inserted comes out clean.
Cool slightly before cutting into squares. Serve warm or at room temperature.