Preheat oven to 350 degrees F. Grease a 9×13-inch baking pan (use baking spray, cooking spray or shortening).
In a large mixing bowl, whisk together the flour, sugar, baking soda, salt and cinnamon.
In a medium saucepan, bring the cola, butter and cocoa powder to a boil over medium-high heat, whisking occasionally to combine. Pour the cola mixture into the flour mixture and stir until well combined.
In a small bowl, whisk together the eggs, buttermilk and vanilla. Add this mixture to the cake batter and stir until well blended.
Pour the batter into the prepared pan. Bake at 350 degrees F until a toothpick or wooden skewer inserted into the center comes out clean, 35-40 minutes. Do not underbake.
15-20 minutes before the end of bake time, start the frosting. You want to finish cooking the frosting at approximately the same time the cake is done baking.
In a small saucepan, bring the cola to a boil. Continue boiling over medium high heat until the cola has reduced to ½ cup. This usually takes 15-20 minutes.
Add the butter and cocoa powder, to the cola reduction, and stir until the butter is melted. Remove from heat.
Whisk in the powdered sugar, 1 cup at a time. Keep whisking until the frosting is completely smooth.
Let both the cake and the frosting cool for 5-10 minutes. Pour the warm frosting over the warm cake, and spread with a spatula.
Allow the cake to cool to room temperature before serving. Store the cake at room temperature for up to 2 days or in the refrigerator for 1 week.