Mix the Dry Ingredients. Preheat the oven to 350°F and line a 12-cup muffin pan with cupcake liners. Whisk together the flour, baking powder, baking soda, salt, cinnamon, ginger, cardamom, cloves, and nutmeg.
Make the Batter. Beat the butter, oil, granulated sugar, and brown sugar for about 2 minutes, until creamy. Mix in the eggs, vanilla, and sour cream. On low speed, mix in half the dry ingredients, followed by the milk and remaining dry ingredients, just until no streaks of flour remain. Divide evenly among the liners, filling each about ⅔ full.
Bake and Cool. Bake for 17–20 minutes, checking at 17 minutes. Our batches were best at 18–19 minutes. The cupcakes are done when a toothpick comes out clean or with a few moist crumbs. Cool in the pan for 5 minutes, then transfer to a wire rack and cool completely, allowing at least 45 minutes total cooling time before frosting.
Make the Buttercream and Decorate. Beat the butter until creamy, then mix in the cinnamon, ginger, cardamom, cloves, nutmeg, and vanilla. Gradually beat in the powdered sugar. Add 2 tablespoons cream or milk, then another ½ tablespoon if you prefer slightly softer frosting, adding more only if needed. Pipe onto the completely cooled cupcakes and finish with a light dusting of cinnamon and optional decorative star anise.