Start by making the streusel. Mix the flour, sugar, and cinnamon in a medium bowl, then add the butter. Use your hands to mix until a crumbly mixture forms, then set aside.
Preheat the oven to 350°F (180°C) and line or grease a 12-cup muffin tin.
In a large bowl, whisk the milk, oil, discard, eggs, and vanilla until fully combined and slightly frothy.
Add the flour, sugar, baking powder, cinnamon, and salt to the bowl. Use a wooden spoon to mix until no streaks of flour remain in the bowl.
Add the blueberries to the muffin batter and carefully fold them in to incorporate throughout.
Spoon an equal amount of batter into each muffin cup, then cover each with the streusel topping.
Bake the muffins for 22-24 minutes, or until the top is lightly golden and a toothpick inserted into the centre of a muffin comes out clean.
Cool the muffins in the tin for five minutes before removing and cooling fully on a rack. The muffins will keep for a couple of days at room temperature, but are best on the day they're baked.
Notes
To make the streusel dairy free, use ¼ cup (60 g) coconut oil and 1 tablespoon non-dairy milk in place of the butter.