Preheat the oven to 350F, then spray an 8x8-inch pan with nonstick cooking spray. You can also just butter it.
For the streusel
In a large bowl, mix the flour, cinnamon, salt, and brown sugar.
3/4 cup brown sugar, 2 tsp cinnamon, 1/4 tsp salt, 17 tbsp all purpose flour
Add the cold, cubed butter and mix it in using your hands or a pastry cutter until it resembles coarse crumbs. Set it aside in the fridge.
1/2 cup butter
Make the cake
Whisk the flour, baking soda, baking powder, and salt in a medium bowl and set aside.
1 & 3/4 cup all purpose flour, 1 tsp baking powder, 1/4 tsp baking soda, 1/2 tsp salt
In a large bowl, cream the butter and granulated sugar together. Add the eggs one at a time, mixing to combine again. Mix in the vanilla extract
1/2 cup butter, 3/4 cup granulated sugar, 2 large eggs, 2 tsp vanilla extract
Add half of the dry ingredients and half of the sour cream and mix to combine. Repeat the process with the rest of the dry ingredients and sour cream just until the flour mixture disappears.
3/4 cup sour cream
Pour half of the cake mixture into the prepared pan, amd sprinkle half of the streusel on top making sure every area is covered. Pour the rest of the cake batter on top and gently spread over with a spatula. Sprinkle the rest of the streusel on top.
Bake in the preheated oven for 45-48 minutes or until a toothpick inserted in the center of the cake comes out clean.
Allow the cake to cool in the pan for 10-15 minutes before pulling it out and allowing it to cool down some more on a cooling rack.
Make the icing (optional)
In a medium bowl whisk the powdered sugar, vanilla, and milk until thick drizzlable consistency forms. Add a little more milk if needed.