Having earned a 1-1 draw with Diego Simeone’s side in the first leg, Barca were subdued and Messi out
And they were indebted to goalkeeper Victor Valdes, who saved shots from Arda Turan and David Villa.
Atletico lost their discipline late on as Filipe Luis saw red before Pedro was tripped for Messi’s spot-kick.
The 89th-minute penalty award for a challenge by Miranda appeared harsh but Argentine Messi sent his spot-kick against the crossbar.
The drama did not end there as Turan was sent off for protesting against the referee’s decision, despite already having been substituted.
Luis’s card came after he appeared to swing an arm at Dani Alves nine minutes from the end.
Neymar, who scored in the first leg and started his first game for the Catalan side, failed to link up well with Messi.
But victory for Barcelona earned them their 16th trophy in almost four years and the first of new boss Gerardo Martino’s reign.
Martino dedicated victory to predecessor Tito Vilanova, who resigned in the summer to continue treatment against cancer.
“This triumph came about because of what happened last year,” said Martino.
“I ended up winning it because of an unfortunate turn of events. This trophy belongs to the players, to Tito Vilanova and the rest of the coaching staff.”