Preheat oven to 350°F (175°C). Grease and flour three 8-inch round cake pans, then line bottoms with parchment paper.
In a medium bowl, whisk together flour, baking powder, baking soda, and salt.
In a large bowl, cream the butter and sugar until light and fluffy.
Add eggs one at a time, mixing well after each. Stir in lemon zest, lemon juice, and vanilla extract.
Add dry ingredients to the wet mixture in three additions, alternating with buttermilk. Mix just until combined.
Gently fold in the flour-coated blueberries.
Divide batter evenly between prepared pans and smooth the tops.
Bake for 28–32 minutes, or until a toothpick inserted in the center comes out clean.
Cool in pans for 10 minutes, then transfer to wire racks to cool completely.
For the frosting: Beat cream cheese and butter together until smooth. Add powdered sugar, vanilla, and lemon juice. Beat until fluffy.
Frost and stack the cooled cake layers. Decorate as desired (optional: garnish with fresh berries or lemon zest).