Preheat the Oven: Preheat your oven to 375°F (190°C). Line a 12-cup muffin tin with paper liners or grease the cups with butter or non-stick spray.
Mix Dry Ingredients: In a large mixing bowl, whisk together 2 cups of all-purpose flour, 1 tablespoon of baking powder, and 1/2 teaspoon of salt. Set aside.
Cream Butter and Sugar: In a separate bowl, using an electric mixer, cream together 1/2 cup of softened unsalted butter and 1 cup of granulated sugar until light and fluffy.
Add Eggs and Vanilla: Beat in 2 large eggs, one at a time, followed by 1 teaspoon of vanilla extract, mixing well after each addition.
Combine Wet and Dry Ingredients: Gradually add the dry ingredients to the wet mixture, alternating with 1/2 cup of whole milk. Start and end with the dry ingredients. Mix until just combined.
Fold in Blueberries: Gently fold in 1 1/2 cups of fresh blueberries, being careful not to overmix.
Preparing the Streusel Topping:
Combine Dry Ingredients: In a small bowl, mix together 1/3 cup of all-purpose flour, 1/4 cup of granulated sugar, 1/4 cup of packed brown sugar, and 1/2 teaspoon of ground cinnamon.
Add Melted Butter: Pour in 1/4 cup of melted unsalted butter and mix with a fork until crumbly.
Baking the Muffins:
Fill Muffin Cups: Divide the muffin batter evenly among the prepared muffin cups, filling each about 3/4 full.
Add Streusel Topping: Sprinkle the streusel topping generously over each muffin.
Bake: Bake in the preheated oven for 20-25 minutes, or until a toothpick inserted into the center of a muffin comes out clean.
Cool: Allow the muffins to cool in the pan for 5 minutes, then transfer them to a wire rack to cool completely.