Scottish Premier League
Georgios Samaras scored in the dying seconds as Celtic edged out Aberdeen 4-3 in a dramatic seven-goal thriller at Celtic Park.
The Dons, for whom manager Craig Brown announced his decision to retire at the end of the season, fell behind in the opening seconds when Kris Commons bundled home from close range.
But Scott Vernon levelled proceedings on the stroke of half-time before Josh Magennis put them ahead in the 53rd minute and then doubled their advantage on the hour to the chagrin of the home crowd.
Charlie Mulgrew set the wheels in motion for a comeback and Gary Hooper headed home to level proceedings in the 87th minute before substitute Samaras broke Aberdeen hearts with his hooked effort in the fifth minute of added on time.
Billy McKay's controversial penalty ensured Inverness leapfrogged Ross County into third in the table after a 2-1 win at the Caledonian Stadium.
McKay netted the winner in the 59th minute after referee Iain Brines pointed to the spot when Charlie Taylor went down, but there were strong suggestions the full-back was making a meal of it.
It came after Andrew Shinnie's close-range opener in five minutes for Caley Thistle was cancelled out by a magnificent 30-yard strike from County's Paul Lawson.
Turkish Super Lig
Besiktas' Super Lig title hopes suffered a setback on Saturday night with a 3-1 home defeat to close challengers Kasimpasa.
The home side found themselves trailing to a Tabare Viudez goal after just seven minutes but were level through Olcay Sahan six minutes later.
However, Campos Djalma restored Kasimpasa's lead after 33 minutes and a 79th-minute strike from Halil Colak put the result beyond doubt.
Third-placed Besiktas remain four points behind leaders Galatasaray, while they are now just three points better off than Kasimpasa.
Genclerbirligi climbed into the top six with a late 2-1 victory over Karabukspor.
A ninth-minute opener from Radosav Petrovic was cancelled out by Luton Shelton for the visitors five minutes before the interval.
The dismissal of Anil Karaer seven minutes into the second half came as a blow to Karabukspor but they held on until the final minute, when Bjorn Vleminckx netted the winner.
Istanbul Buyuksehir pulled three points clear of the drop zone with a 4-2 win over bottom club Mersin Idmanyurdu, who remain eight points from safety.
Goals from Simon Zenke, Tom, Mahmut Tekdemir and Samuel Holmen put Istanbul in the driving seat before Mersin replied with a late brace from Marcio Nobre.
AEK Athens gave their Superleague survival hopes a timely boost with a 2-1 win at home to fellow strugglers Veria.
A run of three successive defeats had left AEK perilously close to the bottom three, but they were in front in the fourth minute on Saturday through Taxiarchis Fountas.
Michael Olaitan then equalised for Veria 15 minutes from time but the hosts dug deep and were rescued six minutes from time by Georgios Katidis' strike.
The win lifts AEK above Veria and three points clear of the drop zone with four matches remaining.
OFI Crete are one point worse off than AEK after a 1-1 draw at Levadiakos.
Christos Lisgaras gave the home side an 18th-minute lead but Thanassis Papazoglou secured a point for OFI six minutes before the interval.
Giannina remain in the running for a Champions League play-off place after a 2-0 win over Aris Salonika, courtesy of goals from Brana Ilic and Nikos Korovesis.
Swiss Super League
St Gallen strengthened their claim for a Europa League spot with a 3-1 win over Lausanne in the Swiss Super League.
Sebastian Wuthrich set St Gallen on their way after 18 minutes before two goals from Stephane Besle (25 and 31) put them firmly in the driving seat.
Matt Moussilou pulled one back for Lausanne four minutes before the interval but they could not add to their tally as St Gallen consolidated third place.
FC Zurich are two points off a European place following their 2-1 victory at bottom club Servette.
It took a last-minute goal from Adis Jahovic to separate the two sides, after Amine Chermiti's 64th-minute opener for Zurich was cancelled out by Goran Karanovic from the spot.
French Ligue 1
Bastia midfielder Florian Thauvin bagged a brace as Lyon's Ligue 1 title hopes took a hammer blow in a 4-1 defeat at the Stade Armand Cesari.
Thauvin, who is remaining with Bastia for the rest of the season having signed for Lille in January, put the hosts in front just before half-time although Lisandro Lopez levelled in the 53rd minute.
That was as good as it got for the visitors, who fell behind almost immediately afterwards through Anthony Modeste's strike while Thauvin's second on the hour left them with a mountain to climb.
Wahbi Khazri ensured there was no way back as Lyon, who could trail Paris St Germain by seven points if the league leaders beat St Etienne on Sunday, suffered their heaviest defeat of the season.
Evian's smash-and-grab 2-1 win at Lille dragged them away from danger and ended the hosts' fine run of form to dent their European hopes.
Lille struck a post and missed a penalty as Evian came from behind for an unlikely win against a team who had won five in a row.
Salomon Kalou put Lille ahead after just seven minutes, but after Dimitri Payet hit the upright, Saber Khelifa levelled on the half-hour mark and Kalou then scored an own goal in the 67th minute before missing a spot-kick.
Lorient answered coach Christian Gourcuff's complaints about conceding late goals by scoring two early to set up a 4-0 win over Brest.
Lorient have seen their hopes of European football fade thanks to late defeats, but made sure there would be no such problems on Saturday with goals from Julien Quercia and Yann Jouffre in the opening seven minutes before further strikes from Wesley Lautoa and Gilles Sunu.
The victory puts them back within five points of fourth place, although St Etienne and fifth-placed Nice both play on Sunday.
Lille are sixth after their defeat, still head of Montpellier who were held to a 1-1 draw at home to struggling Troyes.
The hosts were looking to get their European push back on track after last week's defeat to Nice and things looked to be going their way when Gaetan Charbonnier struck early on.
However, Troyes, second from bottom in the table, responded with an equaliser from Corentin Jean after the restart.
Sochaux missed the chance to climb back out of the relegation zone after conceding a late equaliser in a 1-1 draw at home to Valenciennes.
Eric Hely's men, who dropped into the bottom three following successive defeats to last-placed Nancy and Evian, looked set to claim a morale-boosting triumph thanks to Ryad Boudebouz's eighth-minute opener.
However, mid-table Valenciennes had other ideas and teenage substitute Opa Nguette scored a brilliant equaliser eight minutes from time as the points were shared.
Mali defender Mohamed Fofana struck in the 32nd minute as Reims edged out Rennes 1-0 to ease their own relegation worries, moving up to 16th and two points clear of trouble.
Pacos Ferreira closed to within a point of the top three in the Portuguese Liga by securing a 2-1 victory at Olhanense.
Manuel Jose's sixth-minute opener for the visitors was wiped out by Pepe six minutes before the interval.
But Manuel Jose struck again on the half-time whistle to lift Pacos on to the coattails of Braga in the battle for Champions League football.
Sporting Lisbon were also 2-1 winners over Vitoria Setubal to stretch their unbeaten run to three matches.
Jesualdo Ferreira's side have struggled for consistency this season but were the beneficiaries of a 17th-minute own goal from Euripedes Amoreirinha before adding to their lead from the penalty spot through Zakaria Labyad.
Ariza Makukula replied for Vitoria after 33 minutes but that was as good as it got for the visitors.
PSV Eindhoven and Vitesse Arnhem ramped up the pressure on Ajax in the Eredivisie title race as both advanced their own cases to be champions.
PSV were 2-0 winners at home against RKC Waalwijk to go two points clear at the top, while Vitesse thrashed ADO Den Haag 4-0 to join Ajax in a share of second on 54 points.
Ajax were facing a tricky Sunday trip to face an AZ Alkmaar side who last month knocked them out of the KNVB Beker with a stunning 3-0 win in Amsterdam.
An early goal settled PSV against RKC, with Dries Mertens converting a sixth-minute penalty, and Georgino Wijnaldum added the second goal in the 69th minute, a sweet chip from 15 yards.
Vitesse were impressive winners away from home, with Wilfried Bony netting after eight and 39 minutes to leave ADO with it all to do in the second half.
Marco van Ginkel added the third goal after 55 minutes and Mike Havenaar compounded the pain for the hosts with a fourth in the 84th minute.
Struggling VVV Venlo remain firmly embedded in the relegation picture after a 2-0 home defeat against Heracles. Everton scored the first after 61 minutes and Mike te Wierik followed it up six minutes later.
In-form Heerenveen came from behind to snag a 3-1 win at fellow mid-table outfit NEC Nijmegen.
Ruud Boymans set them on the back foot with a 62nd-minute opener, but Alfred Finnbogason levelled eight minutes later and it took only a further three minutes for Filip Djuricic to nudge Heerenveen in front.
Djuricic added his second in the 90th minute.
Belgian Jupiler Pro League
League leaders Anderlecht conceded a late equaliser as they were held to a 1-1 draw by Gent in the final round of the Jupiler League regular season.
John van den Brom's men took a 40th-minute lead through Milan Jovanovic but the match ended in disappointment for the reigning champions as they conceded an 84th-minute equaliser to Rodger Kola and then lost Olivier Deschacht to a stoppage-time red card.
The result sees Anderlecht finish the campaign with a four-point lead at the summit - an advantage which will be halved for the upcoming play-offs - over nearest challengers Zulte-Waregem, who continued their good end-of-season form with a 3-2 win at Mechelen.
Goals from Jens Naessens (seven minutes), Aleksandar Trajkovski (60) and Ibrahima Conte (82) earned Zulte the win, with Mechelen responding through efforts from Boubacar Dialiba (63) and Mads Junker (85) before they lost goalkeeper Tome Pacovski to a last-minute red card.
The three teams finishing behind Zulte - Genk, Club Brugge and Lokeren - also go into the play-offs on the back of victories.
Third-placed Genk staged a second-half masterclass to overturn a deficit and thrash Mons 5-1.
The hosts led at the break through Shlomi Arbeitman's 34th-minute penalty but Genk stormed back with goals from Julien Gorius (56, pen), Bennard Kumordzi (58), Kim Ojo (60) and a Benjamin De Ceulaer brace (75 and 80) to take the win before Mons had Peter Franquart sent off.
Club Brugge did all their hard work in the first half as they remained in fourth spot with a 3-0 home triumph over Lierse, goals from Maxime Lestienne (three) and leading scorer Carlos Bacca (13 and 32) sealing the win.
Lokeren leapfrogged Standard Liege into fifth after beating their fellow high-flyers 2-0 away from home, goals from Nill De Pauw (22) and Hamdi Harbaoui (58) doing the damage.
Those top six teams will now compete in the play-offs 1 - with all the points accumulated during the regular season being divided by two - while the sides ranked seventh to 14th go into the play-offs 2.
In matches involving teams going into the PO2, Charleroi shrugged off the 39th-minute dismissal of Giuseppe Rossini to beat Waasland-Beveren 3-0 with goals from Danijel Milicevic (20) and David Pollet (81 and 87) while KV Kortrijk and Leuven played out a 0-0 draw.
Meanwhile, in the battle between the bottom two - both of whom will be involved in the relegation play-offs - Beerschot beat last-placed Cercle Brugge 3-1 thanks to a brace from Roy Dayan.
Dayan struck in the 68th - from the spot - and 87th minutes to earn the win over Beerschot, for whom Stephen Buyl (62) had cancelled out Boldiszar Bodor's opener (52).