Preheat the oven to 350 degrees. Grease an 8" or 9" square pan with butter. Beat the butter and the sugar together until light and fluffy, about 3 minutes. Stir in the vanilla, lemon juice. Add the eggs, mixing just until combined.
Combine the flour and baking powder in a bowl. Add half of the dry ingredients to the wet ingredients and stir to combine. Add the sour cream, mix again, and add the remaining dry ingredients. Mix just until combined. Gently stir in the cranberries and pour the batter into the prepared pan.
Place the flour and sugar for the topping in a small bowl and add the melted butter. Stir with a fork to combine. Sprinkle the sugary crumbs over the batter in the pan.
Bake for 42-46 minutes, until a toothpick comes out clean or with moist crumbs. Let cool before slicing.
Notes
If cranberries are not in season, (or if you do not currently have them stashed in your freezer) this cake will work nicely with blueberries as well. Frozen cranberries may be stirred into the batter straight from the freezer.