Luis Enrique’s La Liga champions had Javier Mascherano sent off in the 36th minute but kept the score at 0-0 before Sevilla had Ever Banega dismissed in added time at the end of 90 minutes.
With both teams down to 10 men, Barcelona began to take control in the extra period and left back Alba burst down the wing to score in the 97th after a superb chip from Lionel Messi.
Sevilla were then reduced to nine players when defender Daniel Carrico was sent off for dissent late on and Neymar doubled Barcelona’s lead after also being set up by Messi.
It was the 28th time Barca had won the trophy but they had to battle as Unai Emery’s side, who won the Europa League for the third time in a row last week, piled on the pressure.
“It was difficult, especially playing for so long with 10 men against a side like Sevilla,” Alba told Spanish television. “I’m happy to have scored and done the double.
“We couldn’t play the game we wanted but the side showed guts and we did what was needed.”
Barca captain and man of the match Andres Iniesta said the triumph sealed a great season for the club despite some suggesting their Champions League elimination, and thus failure to repeat the treble of 2015-16, spoiled the campaign.
“It was a nice final, intense and exciting,” he said. “It was a last push for the club to complete a magnificent season. All finals are hard, but this was great, both we and Sevilla played well.”
The game’s dynamic changed drastically when Kevin Gameiro, whose pace troubled Barca all night, was brought down when Mascherano grabbed his shirt on the edge of the box.
Referee Carlos del Cerro Grande sent the Argentine off and Sevilla began to take control. Barca keeper Marc-Andre ter Stegen tipped Banega’s free kick over the bar and then watched the midfielder’s next effort hit the inside of the post.
Barca top scorer Luis Suarez limped off injured just before the hour mark, with the Uruguayan crying on the bench.
Sevilla wanted a penalty when Barca right back Dani Alves tangled with Vicente Iborra but their appeal was waved away, while Sergio Rico saved Messi’s free-kick.
Argentine Banega tripped Neymar just before the game went to extra time and was sent off, handing Barcelona the momentum.
Seven minutes into the extra period, Messi lofted a perfectly weighted ball over the defence for Alba who ran through and fired a shot across Rico into the bottom corner.
Then Carrico was shown two yellow cards, the first for a foul on Messi and the second for arguing about it, before Messi played in Neymar, who rolled the ball home to end the contest.