Barcelona completed the Treble with a 3-1 win over Juventus in the Champions League final.
Barca, who had already won the Spanish title and the Copa Del Rey, won their second Treble in six years, becoming the first team to ever do it twice.
Ivan Rakitic gave Barca the lead very early on only for Alvaro Morata to equalise against the run of play. But Barca were not to be denied as Luis Suarez put them back in front and Neymar made sure with the last kick of the game.
Barcelona went in front after only three minutes and 22 seconds, Juventus having no answer to the Spanish side's speed of thought on the ball.
Neymar's first touch was poor but he showed great awareness to find a late run into the box by Andres Iniesta, and he needed only a moment to flick a pass into the centre of the area for the unmarked Rakitic to dink the ball past Gianluigi Buffon.
It was nearly two just five minutes later when Neymar fired over from outside the area.
Juventus came into the game a little after this, though it would have been difficult not to from that starting position. It was Barca who dominated possession as they always do, although they were restricted to half-chances for a period.
Juve wanted a penalty for a trip on Paul Pogba in the 35th minute. Jordi Alba made the challenge, it was clumsy but Pogba was fouled outside the area and fell into it -- though the referee waved play on.
Moments later Barca were back on the attack, Suarez poking a shot just wide from the edge of the box. And Suarez then brought the best out of Buffon, his snap shot palmed over the bar by the goalkeeper.
Barca should have doubled their lead five minutes into the second half, streaming forward on a 5 vs. 3 break from a Juve corner. But the Spanish giants did not work the counter well, and eventually Suarez had to stab at his shot, which Buffon turned around the post.
Messi then fired over after some wonderful one-touch football. Juve were struggling to stay in the match, and the second goal seemed a matter of time.
The second goal did come, but against the run of play at the other end, in the 55th minute.
A wonderful back-heel from Claudio Marchisio played Stephan Lichtsteiner into the box, with his low cross into the centre finding Carlos Tevez to spin expertly to force a save out of Marc-Andre ter Stegen. But the keeper could only parry the ball out as far as former Real Madrid striker Morata, who coolly sidefooted home from six yards out.
Juve were growing in confidence now, and just after the hour Tevez fired over when in a promising position inside the D.
Just when the Serie A champions were getting on top, Barca retook the lead in the 68th minute. Messi burst towards goal though his shot was certainly not one of his best, but Buffon could only palm the ball into the path of the onrushing Suarez who rifled into the roof of the net.
Two minutes later Barca thought they had a third when Neymar headed home. Juve players were incensed about a handball as the Brazilian ran away to celebrate, and the fifth official behind the goal backed their appeals. Replays showed the striker was unlucky, as he headed the ball onto his own arm rather than controlling it deliberately.
Pogba had a fine chance to equalise in the 79th minute, but could only head onto the roof of the net.
Marchisio forced a good save out of Ter Stegen in the closing minute of the 90, but as Juve pushed for the extra time it was Barca who scored again with the last kick as Neymar netted.