Prepare the Cupcakes:
Preheat your oven to 350°F (175°C) and line a muffin tin with cupcake liners.
In a medium bowl, whisk together the flour, baking powder, salt, and cinnamon.
In a large bowl, beat the softened butter and granulated sugar until light and fluffy, about 2-3 minutes.
Add the eggs, one at a time, beating well after each addition. Stir in the vanilla extract.
Gradually add the dry ingredients to the wet ingredients, alternating with the milk. Start and end with the dry ingredients, mixing until just combined.
Divide the batter evenly among the cupcake liners, filling each about 2/3 full.
Bake for 18-20 minutes, or until a toothpick inserted into the center comes out clean.
Let the cupcakes cool in the tin for 5 minutes before transferring them to a wire rack to cool completely.
Make the Cinnamon-Sugar Coating:
In a small bowl, combine the granulated sugar and ground cinnamon.
Once the cupcakes have cooled, brush each cupcake lightly with melted butter and dip the tops into the cinnamon-sugar mixture to coat them.
Make the Cream Cheese Frosting:
In a large bowl, beat the softened cream cheese and butter together until smooth and fluffy, about 2-3 minutes.
Gradually add in the powdered sugar, 1/2 cup at a time, mixing well after each addition.
Add the vanilla extract and a pinch of salt, and beat until the frosting is smooth and creamy.
Transfer the frosting to a piping bag and pipe it onto each cupcake in a swirl or your desired design.
Optional Glaze (for extra sweetness):
In a small bowl, whisk together the powdered sugar, milk, and vanilla extract until smooth.
Drizzle the glaze over the top of each frosted cupcake for an added layer of sweetness.