Preheat oven to 350°F. Butter or spray one 9 inch round cake pan.
Combine first 6 ingredients in a bowl. Once combined, beat in egg, milk, oil and vanilla. Beat for 2 minutes. Stir in boiling water (the batter will be thin), and pour into cake pan.
Bake for 25-35 minutes, until a toothpick inserted into the center comes out clean. Cool completely on a wire rack.
Prepare the frosting:
Beat butter and cream cheese until light and fluffy. Add powdered sugar and vanilla. Mix until thoroughly combined and creamy. If necessary, you can add more powdered sugar to thicken it or a splash of milk to thin it.
Cut the cake in half. Spread frosting on top of one half then place the other layer on top. Frost the cake with a butter knife or offset spatula. Be extra gentle frosting the area that was cut as it can be a bit crumbly. If desired, you can spread a really thin layer of frosting on the cake then refrigerate it for one hour before adding he remaining frosting. This "crumb coat" will help hold in the crumbs so that the outside layer of frosting doesn't have crumbs in it.