Cristiano Ronaldo scored the winning goal in extra time after the match ended scoreless in normal time.
The victory gives Jose Mourinho's team their 18th Spanish Cup triumph.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
Madrid had the best of the chances in the first half, but Barcelona could have scored on several occasions in the second to give the Catalan club victory. Instead, it was the first defeat in a final for Barca coach Pep Guardiola since he took charge of the Spanish champions in 2008.
The clash was the second meeting between the Castillian and Catalan giants in 18 days - there are two more to come in the Champions League.

