Step 1: Combine the Dry Ingredients. Preheat the oven to 350°F (177°C). Grease a 9×13-inch baking dish or line it with parchment paper. Whisk together the flour, baking powder, baking soda, salt, cinnamon, ginger, cardamom, cloves, and nutmeg.
Step 2: Mix the Wet Ingredients. Beat the softened butter, oil, granulated sugar, and brown sugar for about 2 minutes, until creamy. Beat in the eggs and vanilla, then mix in the sour cream until smooth.
Step 3: Finish the Batter. Mix in about half of the dry ingredients on low speed just until combined. Add the milk, followed by the remaining dry ingredients. Mix only until no dry flour streaks remain.
Step 4: Bake and Cool. Spread the batter evenly in the prepared pan. Bake for 30–35 minutes, until a toothpick inserted in the center comes out clean or with a few moist crumbs. Cool completely, about 1 hour.
Step 5: Make the Chai Buttercream. Beat the softened butter until creamy, about 2 minutes. Mix in the cinnamon, ginger, cardamom, cloves, nutmeg, and vanilla. Gradually beat in the powdered sugar, adding heavy cream or milk 1 tablespoon at a time until smooth and spreadable.
Step 6: Frost and Serve. Spread the buttercream over the completely cooled cake. Make swirls with the back of a spoon or offset spatula and lightly dust with cinnamon before slicing.