For the crumb topping: Combine the flour, cornflakes, brown sugar, cinnamon and salt in a medium bowl and stir to combine. Add the butter and mix thoroughly with your fingers or a fork until all of the butter has been evenly distributed and incorporated into the flour mixture. Form into small to medium clumps with your fingers. Set aside.
For the cake: Preheat the oven to 350 degrees F. Butter an 8-inch square cake pan.
Whisk together the flour, baking powder, cinnamon, baking soda, ginger, salt and allspice in a large bowl.
Beat the butter and granulated sugar together in a large bowl with an electric mixer on medium-high speed until light and fluffy, about 3 minutes. Add the eggs 1 at a time, beating well after each addition. Beat in the vanilla. Reduce the speed to low and add the flour mixture in 3 batches, alternating with the sour cream, beginning and ending with the flour mixture and beating until just incorporated.
Spoon half of the cake batter (it will be very thick) into the prepared pan and smooth with an offset spatula. Sprinkle the blueberries on top. Spoon the remaining cake batter on top of the berries and smooth the top. Sprinkle on the crumb topping.
Bake until the cake and topping are golden brown and a toothpick inserted into the center of the cake comes out clean, about 1 hour. Let cool in the pan 20 minutes, then invert onto a plate; invert again onto a rack to cool completely.
When measuring flour, we spoon it into a dry measuring cup and level off the excess. (Scooping directly from the bag compacts the flour, resulting in dry baked goods.)