Preheat your oven to 325°F and line a muffin tin with cupcake liners.
Combine all the dry ingredients: flour, spices, salt, and baking powder, in a bowl and whisk to blend. Set aside.
In a large bowl beat the sugars and butter together until blended and fluffy, about 2 minutes on medium speed.
Add one egg at a time, beating each addition into the sugar/butter mixture completely before adding the next one.
Add in the milk and vanilla and beat until completely incorporated as well.
Add the dry ingredients into the wet batter and using a rubber spatula or spoon, fold the flour into the mix. Continue to gently lift and fold, scraping down the sides and bottom of the bowl until all the flour is incorporated and no dry spots remain.
Scoop into the cupcake liners so they're 3/4 of the way full. Place in oven and bake for 18 minutes. When the tops are golden brown and spring back against a gentle touch, or a toothpick inserted comes out clean, remove from the oven.
Take baked cupcakes out of the tin and onto a cooling rack to cool, then repeat with the remaining batter.
Allow the cupcakes to cool completely before frosting or storing. Store unfrosted cupcakes in an airtight container for 2 days at room temperature or in the fridge for 1 week.
Making the Frosting
Beat together cream cheese, butter, salt, and vanilla until well blended and creamy.
Add one cup of sifted powdered sugar at a time, beating between each addition until all the powdered sugar is added and you have a creamy, sweet frosting with no lumps.
Add to piping bag or decorate cool cupcakes as desired.
Store unused frosting in the fridge for 1 week, and store frosted cupcakes in the fridge for up to 1 week. Allow to come to room temp before serving.