Preheat the oven to 350 degrees F.
Prepare three 7-8 inch cake pans by greasing with butter and coating with flour, or grease well with cooking spray.
In the bowl of a stand mixer, beat the butter until light and fluffy, a couple minutes.
Add the sugar and beat until smooth.
On medium speed, add the oil and vanilla and mix together, then add the eggs.
In a large bowl, combine the 3 ¾ cups of flour, baking powder, baking soda, and salt.
Add to the cake batter and mix until incorporated.
Then add the buttermilk, lemon zest, and lemon juice. Mix until just combined.
In a medium bowl, toss the fresh blueberries with 1 tablespoon of flour, then carefully fold into the cake batter.
Evenly distribute the batter between 3 cake pans, about 2 ½ to 3 cups of batter each.
Bake for 30-35 minutes until lightly golden brown on the edges and a toothpick inserted in the center comes out clean.
Allow the cakes to rest for 10 minutes, then remove from the pan and let cool on a wire rack.
While the cake bakes, prepare the icing by beating the cream cheese until smooth.
Add the butter and beat until smooth. Add the powdered sugar and vanilla and beat until combined.
Add the milk if needed to reach your desired consistency.
Spread on the cake after it has cooled.
Best served after it has chilled in the fridge!