Preheat oven to 350 degrees. Line an 8 x 8 baking pan with parchment so two sides overlap edges of pan and lightly grease with cooking spray.
To make the cake:
1. Combine flours, baking soda, baking powder and cinnamon in a small bowl. Whisk to combine and set aside.
2. Place sugar and butter in a large bowl and beat on medium speed until light and fluffy. Beat in eggs, sour cream and vanilla. Stir in flour mixture until just combined. Fold in cranberries.
3. Pour batter into prepared pan and smooth top.
To make the streusel:
1. Whisk together brown sugar, nut flour, cinnamon and almonds in a small bowl. Gently stir in softened butter until combined. (Mixture will look like clumps). Sprinkle on top of cake batter.
2. Bake for 30 minutes uncovered and covered with foil for another 20-30 minutes. Cake will be done when a a toothpick inserted in center comes out with only a few crumbs sticking to it.
3. Cool for 10 minutes in pan and then lift onto cooling rack using overlapping parchment to cool entirely.