Heat the oven to 350°F. Grease two 9-inch round cake pans, line the bottoms with parchment paper, and grease the paper.
Whisk flour, baking powder, baking soda, and salt in a medium bowl.
Beat 3/4 cup butter and granulated sugar in a large bowl until pale and fluffy, about 3 minutes. Beat in eggs one at a time.
Mix in 2 teaspoons vanilla, 2 tablespoons orange zest, and orange juice.
Add the flour mixture in three additions, alternating with buttermilk in two additions. Mix just until combined.
Divide batter between prepared pans. Bake for 25 to 28 minutes, until a toothpick inserted in the center comes out clean.
Cool cakes in pans for 10 minutes, then turn out onto a wire rack and cool completely.
For frosting, beat cream cheese and 1/2 cup butter until smooth. Beat in powdered sugar, vanilla, and 1 teaspoon orange zest. Add milk, a teaspoon at a time, only if needed for spreading consistency.
Place one cake layer on a plate and spread with frosting. Add the second layer, then frost the top and sides. Chill briefly before slicing if desired.