Add the flour, baking powder, salt, and cinnamon to a mixing bowl and whisk together until evenly combined. Set aside.
2 cups flour, 2 tsp baking powder, 1/2 tsp salt, 1/4 tsp ground cinnamon
Add the butter and sugar to another large mixing bowl. Using a hand mixer beat together until smooth & fluffy.
1 stick butter, 1 cup sugar
Add the eggs and beat them in, one at a time, until completely incorporated.
2 large eggs
Add the sour cream, orange juice, and vanilla- blending again until everything's evenly incorporated.
1/2 cup sour cream, 1/4 cup orange juice, 1 tsp vanilla extract
Add half the flour mixture to the wet ingredients and mix just until evenly combined, starting at a slower speed and gradually increasing it so it doesn't poof up and make a mess. Repeat with the remaining flour mixture.
Using a spatula, fold the cranberries into the batter until evenly incorporated.
2 cups fresh cranberries
Spray an 8x8" baking dish with nonstick spray, then add the batter to it and spread it out in an even layer.
Add all of the topping ingredients to a small bowl and mix them together using two forks, or clean fingers, until evenly combined & the mixture's crumbly. Sprinkle the topping evenly out overtop of the batter.
1/2 cup flour, packed 1/2 cup brown sugar, 3 tbsp butter, 1/4 tsp ground cinnamon
Bake at 350° for 45-50 minutes.
Remove from the oven and let the cake rest for 5-10 minutes.
Slice, serve warm, and enjoy!