Preheat oven to 350°F (177°C). Grease three 8-inch round cake pans, line with parchment paper rounds, then grease the parchment paper.
Make the cake: Using a handheld or stand mixer with a paddle attachment, beat the butter on high until smooth and creamy, about 1 minute. Add granulated and brown sugars and beat on medium-high speed until combined, about 2 minutes. Add the oil and beat until combined, about 3 more minutes. Add the eggs and vanilla, and beat on medium speed until everything is completely combined, about 1 minute.
In a large bowl, whisk together the flour, baking powder, baking soda, and salt. Add the dry ingredients to the wet ingredients. Beat on low speed for a few seconds, then beat in the milk, lemon zest, and lemon juice just until combined. Toss the blueberries with 1 Tablespoon of flour and gently fold into the batter.
Spoon batter evenly into prepared cake pans. Bake for about 22–26 minutes or until a toothpick inserted in the center comes out clean. Remove from the oven and allow to cool completely in the pan before assembling and frosting.
Make the frosting: Using a handheld or stand mixer with a paddle attachment, beat cream cheese and butter together on medium speed until no lumps remain, about 3 minutes. Add confectioners’ sugar, heavy cream, vanilla extract, and salt with the mixer running on low. Turn mixer up to high speed and beat for 3 minutes.
Assemble and frost: Slice a thin layer off the tops of the cakes to create a flat surface. Place 1 layer on your cake stand. Evenly cover the top with cream cheese frosting. Top with 2nd layer, more frosting, then the third layer. Top with frosting and spread around the sides.
Follow with blueberries or lemon garnish if desired. Refrigerate for at least 45 minutes before cutting.
Cover leftover cake tightly and store in the refrigerator for up to 5 days.