In a large bowl, stir together flour, sugar, baking powder, and baking soda.
Using a pastry blender or your fingers, cut or rub butter into flour mixture until coarse crumbs form.
Beat eggs to blend with buttermilk and vanilla; stir into flour mixture just until evenly moistened.
Spread batter in a buttered 2-inch deep 7- by 11-inch or 9- by 13-inch baking dish.
Evenly spoon filling onto batter; coarsely crumble topping over filling.
Bake in a 350° oven until a toothpick inserted in center (not in filling) comes out clean, 50 to 60 minutes.