The cupcakes themselves are so light and buttery, with just a hint of orange. The frosting is creamy and sweet and tangy, and gets a delicious orange flavor from fresh orange juice.
Preheat the oven to 350. Prepare a cupcake tin by lining with paper liners. In a medium bowl, whisk together the flour, baking powder, and salt, and set aside.
In a large bowl or the bowl of a stand mixer, beat the eggs, sugar, butter, orange zest, vanilla, and orange extract until smooth. Mix in half of the flour mixture, then add the milk and mix until smooth. Mix in the remaining flour until just combined.
Spoon the batter into the cupcake liners, filling 2/3 full. Bake 16-19 minutes, or until a toothpick inserted in the center comes out clean. Let cool completely before frosting.
To make the frosting, heat the orange juice over medium heat until reduced to about 1 1/2 tablespoons. This may take between 10 and 15 minutes. Remove from heat and let cool completely (you can refrigerate it to speed up the process). Beat together the cream cheese and butter until light and fluffy. Add 2 cups of powdered sugar, the vanilla, the orange extract, the orange zest, and the reduced orange juice. Beat until smooth. Add more powdered sugar as needed to make a frosting that is soft but not runny. Frost cupcakes as desired.