Preheat the oven to 350°F and line a muffin pan with liners.
In a medium bowl, whisk together the dry ingredients (flour, baking powder, baking soda and salt); set aside.
In a large bowl, beat the wet ingredients in stages using an electric mixer. First beat the eggs; then add the sugar; next, add the vanilla extract and canola oil; finally add the buttermilk and beat until well blended.
When all the wet ingredients are well incorporated, slowly, mix in the flour and beat until just combined and smooth.
Pour batter into the prepared muffin pan, filling about ½ full since the cupcakes will rise.
Bake for 12 -14 minutes until a toothpick inserted in the center comes out clean.
Cool for a few minutes, then remove.
When the cupcakes are cooled, pipe on the cream cheese frosting.
For the Cream Cheese Frosting
Beat all the ingredients with an electric mixer until smooth and well-blended.