For the cake layer
2 cups all-purpose flour
1/2 teaspoon baking powder
1/4 teaspoon baking soda
1/4 teaspoon salt
1 cup granulated sugar
2 large eggs
1/2 cup (1 stick) unsalted butter, at room temperature
1/2 cup buttermilk
1 teaspoon vanilla extract
1 cup blueberries tossed with 2 tablespoons all-purpose flour
For the topping
1/2 cup (1 stick) unsalted butter, at room temperature
1 (8-ounce) package cream cheese, at room temperature
2 large eggs
1 teaspoon vanilla extract
3-1/2 cups powdered sugar
Preheat the oven to 350 degrees F. Spray a 9-by-13 baking pan with baking spray.
In a medium bowl, whisk together the flour baking powder, baking soda and salt.
In a large mixing bowl, beat the sugar and egg until the mixture is pale yellow. Add the butter, buttermilk and vanilla and beat to combine.
Slowly add the dry ingredients to the batter, beating on low speed just until combined. Using a rubber spatula, gently fold in the blueberries. Pour the batter into the prepared pan.
To make the topping, in a large mixing bowl, beat together the butter and cream cheese until smooth.
Add the eggs and vanilla and beat to incorporate.
Add the powdered sugar and beat just to combine.
Spread the topping over the cake batter in an even layer.
Bake for 45 to 55 minutes, until the topping is mostly set but still gooey in the center.