Preheat oven to 375°F; line a 12-cup muffin tin with paper liners or grease well.
Whisk 2 cups flour, sugar, baking powder, and salt in a large bowl.
Mix oil, eggs, milk, and vanilla in a separate bowl.
Gently stir wet into dry just until combined; do not overmix and leave a few lumps.
Gently fold in blueberries without crushing.
Mix brown sugar and 1/3 cup flour in a small bowl; cut in cold butter with a fork until crumbly for streusel.
Divide batter evenly among cups, filling about 2/3 full.
Top muffins generously with streusel.
Bake 20-22 minutes until a toothpick inserted in center comes out clean and tops are golden brown.
Cool in pan 5 minutes; transfer to a wire rack and serve warm with a pat of butter.