FRANKFURT, Germany (AP) -- Schalke came from behind to win 4-1 at Kaiserslautern in the Bundesliga on Sunday and stay in the chase for a place in next season's Champions League.
Kaiserslautern is winless in 16 matches and stayed bottom of the league, three points behind Hertha Berlin and six points from safety.
Hannover, like Schalke a quarterfinalist in the Europa League this season, beat Cologne 4-1 in Sunday's other match after Mame Diouf came off the bench to score twice.
Schalke remained fourth, one point behind Borussia Moenchengladbach. Hannover climbed one place past Stuttgart to seventh.
Rodnei scored early for Kaiserslautern, but Lewis Holtby, Klaas-Jan Huntelaar, Raul Gonzalez and Jefferson Farfan replied to secure Schalke's victory.
Kaiserslautern made a good start when Christian Tiffert's free kick to the far post allowed defender Rodnei to score with a powerful header in the third minute.
But the home side began to look outclassed soon after and Schalke dominated.
Huntelaar found the net in the 32nd minute, only for his effort to be ruled out for offside. He followed up by providing the pass for Holtby to score, the midfielder drilling a shot from 20 meters (yards) into the roof of the net in the 39th.
Farfan's free kick had Kaiserslautern goalkeeper Tobias Sippel stretching to his right to palm the ball away late in the first half.
Huntelaar finally scored in the 45th, his 20th goal in the Bundesliga this season, and Farfan laid the ball on for Raul Gonzalez to bury a left-foot shot in the top left corner from the edge of the box in the 51st.
Farfan sealed the win in the 81st after leading a quick Schalke counterattack. He fed Holtby, who ran through before cutting the ball back for Farfan to supply an easy finish.
In Hannover, Cologne goalkeeper Michael Rensing blocked an effort from Jan Schlaudraff, but Lars Stindl pounced on the rebound to score in the 19th.
Kevin Pezzoni, wearing a protective face mask for an earlier nose injury, headed in an equalizer for the visitors after a corner in the 43rd.
Cologne should have gone ahead in the 58th, when Mikael Ishak hit the post and Milivoje Novakovic pounced on the rebound, but could send his effort wide.
At the other end, Henrique Sereno brought down Konstantin Rausch and Schlaudraff converted from the spot to put Hannover ahead in the 61st.
Diouf and Didier Ya Konan, another substitute, left Cologne's defense in tatters in the 67th for Hannover's third goal. Ya Konan beat the offside trap, dummied a defender and then passed to Diouf, who shook off Pedro Geromel and slotted home.
Diouf completed the win with a header in the 83rd.
Cologne, which played without suspended striker Lukas Podolski, remained 13th in the standings.