Sevilla secure third, Recre and Numancia relegated
Sevilla secured third place in the Primera Liga and automatic qualification for the Champions League when a last-minute header from Diego Perotti earned them a 1-0 home win over Deportivo La Coruna on Saturday.
Sevilla have a three-point lead and the head-to-head advantage over fourth-placed Atletico Madrid with one game left.
Atletico romped to a 4-1 victory away to Athletic Bilbao, with Diego Forlan netting a hat-trick in the last 17 minutes to move top in the scoring charts with 31 goals.
Atletico only need a point from their last game at home to Almeria to make sure of the final Champions League slot.
Barcelona, with the title wrapped up and one eye on the Champions League final, fielded a weakened side and lost 1-0 at home to Osasuna.
Walter Pandiani headed Osasuna in front from a first-half corner and Barca were reduced to 10 men when youth team player Marc Muniesa was sent off nine minutes from time.
Barca coach Pep Guardiola was sent from the bench as he disputed the decision. After the match, Barca were presented with their second trophy of the season. The Catalans have 86 points, eight ahead of second-placed Real Madrid who host Real Mallorca on Sunday.
Villarreal climbed to fifth, two points behind Atletico, after two goals from Joseba Llorente and one from Cani gave them a 3-1 victory over near neighbours Valencia, who slipped to sixth on 59 points.
Llorente's turn and shot and back-post header had Villarreal two-up before David Villa pulled one back for the visitors. But Cani produced a great near-post finish from a Robert Pires pass in the 67th minute.
At the foot of the table, Recreativo Huelva and Numancia were relegated. Bottom-placed Recreativo lost 1-0 at home to Racing Santander, while Numancia fell 1-0 at Getafe. Osasuna's victory did not manage to drag them out of the bottom three. They remain 18th with 40 points behind Sporting Gijon on the head-to-head rule, after Sporting won 2-1 at Valladolid.
Five teams - Osasuna, Sporting, Real Betis, Getafe and Valladolid - will be battling to avoid the last relegation spot in the final round of matches next weekend.