Preheat the oven to 400°F (200°C). Grease and flour three 6-inch or two 8-inch round cake pans.
Toss the blueberries with the flour and set them aside.
Whisk the flour, baking powder, baking soda, and salt in a large bowl.
Beat the softened butter, oil, granulated sugar, and brown sugar for 2 to 3 minutes, until light and fluffy.
Mix in the eggs, vanilla, and lemon zest until just combined.
Add the buttermilk and dry ingredients in three alternating additions, beginning and ending with the dry ingredients. Fold in half of the blueberries.
Pour half the batter into the prepared pans and sprinkle the remaining blueberries evenly over it. Spread the remaining batter on top.
Bake at 400°F for 5 to 7 minutes, then lower the temperature to 350°F and bake for 20 to 25 minutes, until a tester comes out clean.
Cool the cakes in the pans for 10 minutes, then transfer them to a wire rack to cool completely.
Beat the cream cheese and butter together on medium-high speed for about 2 minutes until smooth and creamy. Add the powdered sugar one cup at a time scraping down the sides every so often to ensure everything is well mixed. Mix in the vanilla extract, lemon zest and a pinch of salt. If the frosting feels too thin, add more powdered sugar a little at a time. If it’s too sweet, a small pinch of salt will balance the flavor. The frosting should be soft but not runny. Spread the frosting generously over your cooled cake. Top with blueberries and enjoy!