Preheat the oven to 375°F. To make the topping, place all of the ingredients, except the non-dairy butter, in a large bowl. Stir to combine. With your hands, two knives or a pastry blender, blend the non-dairy butter pieces into the dry ingredients until large clumps form and the dry ingredients and non-dairy butter are completely incorporated. Set aside.
To make the filling, mix together in a large bowl the brown sugar, lemon juice, cornstarch, vanilla, and salt. Add the peaches and blueberries and stir gently until evenly coated. Transfer the mixture to an 8-inch square baking dish and arrange it in an even layer. Sprinkle the topping over the fruit and gently press down.
Place baking dish on a baking tray and place in the oven. Bake until the topping is browned and crisp, about 35 to 40 minutes and the fruit is bubbling on the sides of the dish. Remove from oven and let cool slightly before serving.