Nikola Zigic delighted the Estadio El Sardinero faithful with a hat-trick in just 21 minutes, capping his fine personal performance with a last-gasp winner for the hosts in the 89th minute.

Luis Prieto had opened the scoring for the visitors inside the first 10 minutes, and although there were a few decent chances for both sides in the remainder of the opening period, there was little indication of the drama that was to unfold in the second half.

Christian Fernandez equalised for Racing after 59 minutes but Joseba Etxeberria restored the visitors' advantage just three minutes later.

Ezequiel Garay pulled Miguel Angel Portugal's troops level from the penalty spot within moments, while Zigic bagged two in seven minutes to hand Racing a 4-2 advantage with just 13 minutes remaining.

Etxeberria's second of the game on 80 minutes brought Athletic back into contention before Andoni Iraola silenced the chants of the enthralled home crowd with an equaliser just three minutes later.

But Zigic popped up late on to break brave Athletic hearts and seal what are sure to be the most hard-fought three points of Racing's season.

The stunning victory keeps Racing well in the hunt for a place in Europe next season, while Athletic remain mired in the relegation zone after their 14th defeat of the campaign.

The first of the game's nine goals arrived in the seventh minute after Pablo Pinillos hauled down Javi Martinez Aginaga on the edge of the Racing box.

Prieto stepped up to take the resulting free-kick, and he made no mistake with a low swerving drive that deceived Antonio Tono in the home net.

While no further goals were forthcoming in the half, the tempo of the game remained sprightly, and Zigic, Gonzalo Colsa and Javier Balboa all went close for the hosts.

Athletic's best opportunity to extend their lead fell to Ismael Urzaiz on 15 minutes, but his effort from 12 yards flashed wide of the left upright.

Victor Vitolo might have brought Portugal's men level with a header on 47 minutes that was saved by Daniel Aranzubia, but the excitement level inside the stadium was soon to be cranked up with a remarkable passage of play.

An inswinging corner just before the hour mark found Fernandez unmarked in front of goal, and the defender buried a bullet header beyond the Athletic keeper to even the scoreline.

But the home joy was short-lived and on 63 minutes Etxeberria's right-footed drive from Fernando Llorente's lay-off restored the visitors' lead.

However, within two minutes Racing were level after Ander Murillo felled Oscar Serrano Rodriguez in the box to concede a penalty.

Garay lapped up the resulting spot-kick to again level the score.

Zigic handed Racing the lead for the first time with a header after 70 minutes from Balboa's cross, and the giant Serbian followed that up with a second seven minutes later, rising to meet Pedro Munitis' free-kick to nod home.

Having battled hard to take the lead, Racing were then rocked on their heels by two quick strikes as Athletic pulled level.

First Etxeberria grabbed his second from Llorente's fine through-ball, while Llorente was again the architect on 83 minutes, playing in Iraola to finish with aplomb low to the keeper's left.

But Racing were not to be denied, and Zigic snuck in with a crisp finish from Munitis' assist in the final minute to claim a spectacular victory.