Preheat oven to 350°F. Spray a 9×5 loaf pan with nonstick spray.
Make the streusel first: Toss the flour, sugar, and cinnamon together in a medium bowl. Cut in the cold vegan butter with a pastry cutter, your hands, or two forks. Go for pea-size crumbs.
Make the bread: In a large bowl, toss the flour, baking soda, salt, cranberries, and pecans together until combined. Set aside. In a medium bowl, whisk the flax egg, brown sugar, and granulated sugar together until combined. Make sure there are no brown sugar lumps remaining. Whisk in the vegan buttermilk, oil, vanilla, and orange zest. Slowly pour the wet ingredients into the dry ingredients and gently mix until there are no more lumps. Do not overmix.
Pour the batter into prepared loaf pan. Top evenly streusel, pressing the streusel down gently into the top of the bread so it sticks.
Bake the bread for 45 minutes to 1 hour, covering loosely with foil about halfway through to ensure even browning. Poke the center of the bread with a toothpick. If it comes out clean, the bread is done. Oven times will vary between ovens. Allow bread to cool completely in the pan on a wire rack. Once cooled, cover the bread in plastic wrap and leave it overnight. (This will make the bread more flavorful and moist the next day, but it’s still good day of.)
Make the glaze: In a small bowl, whisk the powdered sugar and orange juice together. Add more orange juice depending how thick you want the glaze. Whisk in orange zest and drizzle over cooled bread.
Slice and serve. Bread stays fresh at room temperature for 3 days or in the refrigerator for up to 6-7 days.
(Adapted from Sally’s Baking Addiction)