The two teams were level at 1-1 after 120 minutes of football, with Oihan Sancet cancelling out an opener from Dani Rodriguez, but Athletic triumphed 4-2 on penalties to win the competition for the first time since 1984.
Mallorca had been looking to secure the trophy for just the second time in their history following their success in 2003, but they came up just short against the Lions at Estadio de La Cartuja.
Nico Williams, who was declared fit to start after concerns over an injury, had the first half-chance of the match in the 14th minute after finding space in an advanced area, but his effort was punched clear by Mallorca goalkeeper Dominik Greif.
Athletic had another opportunity in the 16th minute, with Inigo Ruiz de Galarreta firing towards goal, but once again Greif was equal to the strike.
Mallorca's first shot came from Vedat Muriqi in the 19th minute, and it almost caught out Athletic goalkeeper Julen Agirrezabala, who unconvincingly tipped the ball over the crossbar.
Two minutes later, Mallorca made the breakthrough in the Copa del Rey final, with Rodriguez firing into the back of the net from inside the box after being set up by Antonio Raillo.
Agirrezabala had made a smart save to deny Copete as Athletic struggled to clear their lines, but the goalkeeper had no answer to the powerful drive from Rodriguez.
Athletic had a half-chance to hit back in the 29th minute through Sancet, but his effort from the edge of the box was always rising over the Mallorca crossbar.
Nico Williams did have the ball in the back of the Mallorca net in the 39th minute after a smart exchange with Gorka Guruzeta, but his effort was disallowed due to an offside.
Another opportunity came for the lively Nico Williams in first-half stoppage time, but the Spain international fired into the side-netting, and Mallorca entered the half-time interval with the lead.
Mallorca had a chance to double their lead shortly after the restart, but Cyle Larin's effort was saved by Agirrezabala, before Athletic managed to level the scores in the 50th minute.
It was no surprise that Nico Williams was involved, with the forward sliding a clever pass into Sancet, who took one touch before picking out the back of the net with a composed finish.
Sancet had another opportunity in the 57th minute, but he lifted the ball over the crossbar, before Nico Williams struck one too high just before the hour, with Ernesto Valverde's side well on top.
Greif then did well to keep out an effort from Inaki Williams, before Antonio Sanchez fired over down the other end, with both sides searching for the game's third goal.
Chances continued to arrive at both ends, with Nemanja Radonjic firing over the crossbar for Mallorca, and Yuri Berchiche being denied by Greif after finding space in a promising position.
Neither side were able to find a second in the closing stages of normal time, though, with the Copa del Rey final heading for extra-time.
Iker Muniain, who had only just been introduced, had the first attempt of the extra-time period, but the experienced attacker's effort from the edge of the box was always rising over the crossbar.
Another opportunity came for Muniain in the 102nd minute, but his free kick was wide of the post, and Athletic were doing all of the pushing, with Mallorca sitting deep behind the ball.
Muriqi had a rare chance for Mallorca in the 113th minute, but his header was saved by Agirrezabala, before Unai Gomez missed the target down the other end five minutes later.
Penalties were therefore required to determine the winner, and two misses for Mallorca proved to be crucial, with Athletic netting all four of their spot kicks through Raul Garcia, Muniain, Mikel Vesga and Alex Berenguer to win the Copa del Rey for the first time in 40 years.