Messi grabbed a brace as Ronald Koeman’s men clinched their first trophy of the season.
Antoine Griezmann and Frenkie de Jong were also on target at Seville.
It was the 35th trophy Messi has won as a Barca player, but his first Copa del Rey as the club’s captain.
“I am really happy for this group of players because they deserved some happiness,” he told Barca TV.
“It’s really special to be the captain of this club, where I have spent my whole life, and it’s a really special Copa for me, to be able to lift [the trophy].”
Last season was Barca’s first without a trophy since 2007/2008.