Thomas Muller reached a century of Bundesliga goals as Bayern Munich fought back to beat Werder Bremen 4-2.

Muller and Robert Lewandowski both scored doubles – but lowly Werder gave Bayern a real fright at the Allianz Arena on Sunday.

Jerome Gondorf had fired the visitors into a 26th-minute lead and Bayern laboured for most of the first half before equalising four minutes from half-time when Milos Veljkovic failed to cut out Jerome Boateng’s deep cross and Muller scored.

Bayern were ahead after 63 minutes when Lewandowski punished some slack Werder marking but the visitors were level in the 74th minute when Niklas Sule put through his own net.

However, the champions were back in front two minutes later as Muller crossed and Lewandowski headed home his 17th goal of the season and the result was put beyond doubt when Muller scored to secure Bayern’s sixth straight Bundesliga win.

The result enabled the defending champions to regain their 16-point advantage at the top of the table.

In Sunday’s other match, Schalke missed out on the chance to claim second position outright as they were held 1-1 at home by visiting Hannover.

Schalke were on course for a sixth home win of the season when Marko Pjaca gave them a 58th-minute lead.

However, four minutes from time Niclas Fullkrug – who scored a hat-trick in last week’s comeback win over Mainz – struck to earn the northerners a point and leave the hosts on 31 points with Bayer Leverkusen, RB Leipzig and Borussia Monchengladbach.