Preheat the oven to 425°F (220°C). Line two 12-well muffin pans with about 16 paper liners and set aside.
In a medium bowl, stir together the flour, baking powder, salt and set aside.
In a large bowl, using a whisk, mix together the eggs, sugar, and vanilla. Slowly add the oil and buttermilk while whisking. Add the sour cream and stir to combine for about 1 minute. Then, add the flour mixture and whisk until thoroughly combined, about 1 more minute. Fold in the mashed and whole blueberries to incorporate and set aside.
In a medium bowl, use your fingers to combine the flour, sugar, cinnamon, and butter until the mixture is crumbly. Do not overwork; otherwise, it will become a paste rather than crumbs.
Spoon the batter into the prepared wells until almost full and top with the streusel. You will end up with about 16 muffins. Bake at 425°F (220°C) for 5 minutes. Then, leaving the oven door closed, lower the heat to 350°F (175°C) and bake for another 11 to 13 minutes, or until a toothpick inserted into the center of a muffin comes out clean.
Remove from the oven, let cool in the pan for 15 minutes, and then transfer to a wire rack and let cool completely before serving. Store in an airtight container at room temperature for up to 1 day, in the fridge for up to 3 days, or freeze for up to 2 months.