Preheat oven to 350°F (175°C) and line a 12-cup muffin tin with cupcake liners.
In a medium bowl, whisk together flour, baking powder, baking soda, salt, and spices.
In a large bowl, beat together sugar, oil, and eggs until smooth. Mix in pumpkin puree and vanilla extract.
Gradually add the dry ingredients to the wet ingredients, stirring until just combined.
Divide the batter evenly among the cupcake liners, filling each about two-thirds full.
Bake for 18-20 minutes or until a toothpick inserted into the center comes out clean. Let cool completely before frosting.
To make the frosting, beat together cream cheese and butter until smooth. Gradually add powdered sugar and vanilla, mixing until creamy.
Spread or pipe the frosting onto the cooled cupcakes and serve.