Preheat the oven to 350 degrees F (175 degrees C). Grease and flour two 8-inch or 9-inch round cake pans.
In a large bowl, whisk together the flour, baking powder, baking soda, and salt. Set aside.
In a separate large bowl, cream together the butter and granulated sugar until light and fluffy.
Beat in the eggs one at a time, mixing well after each addition.
Alternate between adding the dry ingredients and the orange juice to the wet ingredients, beginning and ending with the dry ingredients. Blend until just combined – don't overmix!
Stir in the orange zest and vanilla extract.
Divide the batter between your prepared pans.
Bake for 25-30 minutes, or until a toothpick inserted into the center comes out clean.
Let the cakes cool in the pans for 15-20 minutes before inverting onto a wire rack to cool completely.
Make the frosting:
In a large bowl, beat together the cream cheese and butter until smooth and fluffy.
Add the powdered sugar, one cup at a time, until fully incorporated.
Stir in the vanilla extract.
Assemble and frost the cake:
Level the tops of the cakes if needed for a flat stacking surface.
Place one cake layer on a serving plate and spread with a layer of frosting.
Place the second cake layer on top and frost the entire cake with a generous layer of frosting.
Notes
Use fresh orange juice and zest for the best flavor.
For an extra burst of orange flavor, add 1/2 teaspoon of orange extract to the frosting.