Villarreal suffered a shock relegation from La Liga as Rayo Vallecano and Real Zaragoza clinched final day wins and Malaga held on to the final UEFA Champions League spot.
Champions Real Madrid reached a century of points for the season as Levante leapfrogged Real Mallorca to join Atletico Madrid in the Europa League next term.
From playing in the Champions League group phase earlier this season, Villarreal will spend next term in the second tier after a 1-0 home defeat by Atletico.
Radamel Falcao scored the only goal of the game with two minutes left at El Madrigal as Atletico followed up their midweek Europa League final success by claiming fifth spot in the table.
Real Zaragoza had started the day in the last relegation spot, but clambered to safety courtesy of a 2-0 success at eight-man Getafe.
Pablo Sarabia was sent off for Getafe on 26 minutes for a second bookable offence and Zaragoza took the lead on 58 minutes through Apono's penalty after Miguel Torres had been dismissed.
Zaragoza substitute Tomislav Dujmovic was then shown a red card and Getafe's Miku was sent off with three minutes to go before former Tottenham striker Helder Postiga scored the visitors' second in stoppage-time.
Rayo Vallecano, meanwhile, were indebted to an injury-time goal from Raul Tamudo to nick a 1-0 home win over Granada which salvaged survival.
At the top end of the table, title winners Real Madrid rounded off a memorable campaign by hitting 100 points after a 4-1 home thrashing of Real Mallorca.
Cristiano Ronaldo and Karim Benzema scored first-half goals before Germany international Mesut Ozil added a third four minutes after half-time.
Gonzalo Castro pulled a goal back three minutes later, but Ozil's second of the night just before the hour mark put the seal on a 32nd win from 38 games.
Ambitious Malaga held on to fourth position after Salomon Rondon's second-half goal earned a 1-0 home triumph over relegated Sporting Gijon.
Rondon had struck the post in the first half before finding the target on 49 minutes, while Malaga had Isco sent off late on.
Sevilla were forced to settle for a mid-table finish after letting the lead slip in a 1-1 draw away to Espanyol.
Alvaro Negredo had given Sevilla the lead deep into first-half stoppage-time, but Philippe Coutinho scored a 77th minute equaliser for the hosts.
Bottom club Racing Santander bowed out of the top flight by losing 4-2 at home to Osasuna in an eventful encounter.
Christian Stuani had given Santander a second minute lead, which they held until nine minutes after half-time when Ibrahima Balde equalised.
Alvaro Cejudo, who had struck the post in the first half, put Osasuna in front on 67 minutes and Raul Garcia increased the lead four minutes later after his penalty had been saved.
Jairo Samperio reduced the deficit with nine minutes to go, but Osasuna had the final say when Roversio scored in the last minute.
Levante leapfrogged Mallorca into sixth spot after Abdelkhader Ghezzal scored twice in a 3-0 home win over Europa League runners-up Athletic Bilbao.
Ghezzal scored at the end of the first half and midway through the second period before substitute Javier Farinos converted an 88th minute penalty.