Preheat oven to 350° F. Line a cupcake pan with paper cupcake liners.
In a medium bowl, whisk together flour, baking powder, baking soda, salt and cinnamon. Set aside.
In a large mixing bowl, beat with an electric mixer on medium speed the butter and sugar until creamy, about 1 to 2 minutes. Add the eggs one at a time, beating well after each addition. Beat in the vanilla extract and sour cream.
Gradually add in the flour mixture in three parts, alternating with milk (So it goes flour, milk, flour, milk, flour). Mix until batter is uniform and smooth. Scrape down the sides and bottom of the bowl as needed.
Fill baking cups about 3/4 full. In a small bowl, whisk together the cinnamon sugar topping. Sprinkle over the cupcakes from high above so the sugar is dispersed evenly and not concentrated in one spot on each cupcake.
Bake cupcakes for 18 to 20 minutes, or until a toothpick inserted into the center comes out clean. Remove from the oven, transfer cupcakes to a cooling rack, and allow them to cool to room temperature before frosting.
To make the frosting, in the bowl of a stand mixer or using a hand mixer, beat cream cheese and butter until light and fluffy, about 3 minutes. Add confectioner’s sugar and cinnamon. Mix just until combined, then mix in the vanilla. Avoid overmixing the frosting.
Transfer frosting to a piping bag with desired tip. Frost the cooled cupcakes and garnish with a cinnamon stick or mini snickerdoodle cookie.
Notes
Store cupcakes in an airtight container at room temperature for up to 3 days or in the refrigerator for 5 days.Cream cheese frosting: If baking in a warm climate, I suggest using cream cheese and butter that is soft, but still cool to the touch. This will help prevent the frosting from becoming too soft. If the frosting does get too soft, place the mixing bowl in the refrigerator for 15 minutes, then stir the frosting with a rubber spatula to check if the consistency is firmer.