(CNN) -- David Villa converted two penalties as Valencia hammered 10-man Getafe 4-1 to leapfrog Atletico Madrid into fifth in the Primera Liga table and strengthen their bid for a Champions League place.
They were set on their way by Juan Manuel Mata after 19 minutes and went two up shortly afterwards, when Villa made his mark from the spot before Francisco Javier Casquero pulled one back with a penalty after the interval.
Raul Albiol restored Valencia's two-goal lead after 56 minutes and Villa rounded off a comprehensive victory with a fourth from the spot on the hour mark.
Getafe played the last 30 minutes with 10 men after goalkeeper Jacobo Sanz was sent off following a second yellow card for bringing down Villa for his second penalty.
Atletico Madrid crashed to a 4-2 home defeat at the hands of Osasuna who climbed out of the relegation zone.
The defeat leaves Atletico still five points behind fourth-placed Villarreal, who were comprehensively beaten 3-0 by Almeria on Saturday.
Uruguayan forward Walter Pandiani gave the visitors a seventh-minute lead only for Diego Forlan to level matters for Atletico.
Krisztian Vadocz restored Osasuna's lead a minute before half-time and Pandiani (48) and Masoud Shojaei (69) made it 4-1 before Pablo Ibanez grabbed a consolation five minutes later.
Espanyol defeated Deportivo La Coruna 3-1 at Montjuic to boost their slim chances of survival.
Bayer Leverkusen finally bagged a Bundesliga victory to remain in the running for a European place after emerging 2-0 winners against Rhine rivals Cologne.
Stefan Kiessling opened the scoring in the 66th minute and Patrick Helmes converted a penalty in the 76th minute to finish Cologne off.
Leverkusen had scored just three goals in their last five winless contests, but the result moved Bruno Labbadia's team within four points of Stuttgart in fifth place and the final Europa League spot.
Claudio Pizarro scored a hat-trick as Werder Bremen cruised past Hannover 4-1 to keep alive their own, somewhat slimmer hopes of playing in Europe next season.
Pizarro opened the scoring after 41 minutes, but Hannover goalkeeper Robert Enke saved a penalty by Diego in the 61st minute, and then Jacek Krzynowek levelled the game after 69 minutes.
Diego finally scored in the 77th minute before Pizarro netted twice more in the 80th and 84th minutes.
Last-placed Karlsruhe once again failed to score as they played out a stalemate against Borussia Monchengladbach, who earned an important point in the fight against relegation.