Mario Gomez also netted for Bayern, which scored twice within two minutes in the second half. Gomez now has 15 goals in his last 11 games.

“We know that we have a lot of points to recover and we are going to try to do it and then have a nice Christmas holiday,” Gomez said.

Hoffenheim rallied from two goals down and converted a penalty late in injury time to salvage a 2-2 draw against third-place Bayer Leverkusen and Hannover beat Freiburg 3-0 to stay fourth.

Hamburger SV beat 10-man Stuttgart 4-2, while second-place Mainz beat Nuremberg 3-0 on Friday.

Runaway leader Borussia Dortmund plays bottom-place Borussia Moenchengladbach in the late match on Saturday.

Bayern, unbeaten in seven games, posted its biggest victory of the season over a Frankfurt side weakened by several injuries.

Coach Louis van Gaal has set a target of 30 points for Bayern to reach before the winter break and Bayern now has three games remaining to do it. The defending champion jumped three places with Saturday's win and eased the pressure on van Gaal, who got backing from the club's front office earlier in the week.

After Gomez found the target but was called for offside, a dreadful mistake by Daniel van Buyten allowed Fanis Gekas to break through but Breno cleared on the line. Gekas got the ball back and fed Sonny Kittel, but the 17-year-old midfielder's attempt in his fourth Bundesliga appearance went wide.

Gomez had another attempt in the 17th, bit his header was also wide.

Gekas then had another opportunity but was foiled by Breno again.

Tymoshchuk scored in the 29th, controlling the ball with his right and driving with his left foot inside the far post from just inside the penalty box.

Gekas notched his league-high 12th goal of the season in the 33rd. With van Buyten mistiming his clearance attempt, Gekas rose for a good header but it was tipped away by Hans-Joerg Butt against the post. With Bayern's defenders not reacting, Gekas got the rebound and sent it into the net.

Two minutes into the second half, Gomez nearly capitalized on an error by Kittel but his shot brushed the far post and skidded out.

With Gomez obstructing his view, Eintracht goalkeeper Oka Nikolov fumbled a shot by Toni Kroos and Thomas Mueller knocked in the rebound in the 59th. Less than two minutes later, Nikolov parried a shot by Franck Ribery but could not hold onto it and Gomez put the ball into the net.

“He is scoring and it's important for the team to know they can rely on him,” van Gaal said.

Butt protected Bayern's lead when he stopped a tricky shot by Martin Fenin in the 84th. On the other side, Nikolov foiled Gomez trying to finish off a counterattack.

Tymoshchuk completed the victory late in the match after a feed from Ribery.

Schalke played its best match of an otherwise disappointing season in beating Lyon 3-0 in the Champions League. But it was routed at promoted Kaiserslautern, which got two goals from Srdjan Lakic.

“It was catastrophic,” Schalke's goalkeeper and captain Manuel Neuer said of his team's performance. “We never got into the game.” Hannover cruised past Freiburg on goals from Jan Schlaudraff, Didier Ya Konan and Mike Hanke.

Gylfi Thor Sigurdsson converted a penalty four minutes into stoppage time to cap Hoffenheim's comeback at home.

Leverkusen was up two goals 10 minutes into the game, with Sidney Sam scoring in the eighth and Arturo Vidal converting a penalty in the 10th. Vedad Ibisevic pulled one back for Hoffenheim and Sigurdsson salvaged the draw after Gonzalo Castro had fouled Marvin Compper.

Stuttgart's Ciprian Marica tied the game in Hamburg in the ninth minute to cancel out Piotr Trochowski's goal in the third. But the striker was sent off in the 16th for arguing with the referee and Hamburg then got goals from Jonathan Pitroipa, Mladen Petric and Ruud van Nistelrooy, who scored two minutes after coming off the bench. Christian Gentner also scored for Stuttgart.