Borussia Dortmund's 31-match unbeaten run in the Bundesliga was ended on Saturday in a 3-2 loss to Hamburger SV.

Son Heung-Min scored twice and Rafael van der Vaart provided two assists to deal Dortmund its first league loss in over a year and preserve Hamburg's record of 36 games unbeaten set in January 1983.

"Not a lot pleased me today," said Dortmund coach Juergen Klopp after watching Hamburg goalkeeper Rene Adler make 10 saves and Hamburg score with each of its three shots on target.

Bayern Munich maintained its winning roll with Thomas Muller scoring and setting up Toni Kroos for a 2-0 win at Schalke.

"I think it's important to carry on the way we are and not get carried away," said Bayern chairman Karl-Heinz Rummenigge after his club's seventh consecutive win across all competitions.

Also, Wolfsburg drew 1-1 with Greuther Fuerth, Mainz beat Augsburg 2-0 thanks to first-half strikes from Andreas Ivanschitz and Adam Szalai, and Freiburg drew 0-0 at Fortuna Duesseldorf, the only side yet to concede a goal.

Van der Vaart set up Son's opening goal in the second minute before Ivan Perisic equalized with a stunning strike after the second half kicked off, chipping the ball over the helpless Adler inside the far post from the edge of the penalty area.

On his home debut following his return to Hamburg, Van der Vaart sprung the offside trap with a through ball for Ivo Ilicevic to restore Hamburg's lead in the 55th.

South Korean striker Son grabbed his second — a fantastic strike from 17 metres (yards) — four minutes later, only for Perisic to answer with his second a minute after that, prompting a late onslaught on the Hamburg goal.

"We gave away the goals through our mistakes, and should have scored seven or eight," said Dortmund defender Mats Hummels.

Bayern Munich winger Franck Ribery failed to shake off a thigh problem to play in Gelsenkirchen, where record signing Javi Martinez started on the bench.

Jefferson Farfan had the best chance in a cagey first half from both sides when he shot straight at former Schalke favourite Manuel Neuer in the Bayern goal.

Julian Draxler should have done better to set up the unmarked Klaas-Jan Huntelaar early in the second half, but delayed his pass and the Bayern defence was able to get back and cover.

Mueller set up the in-form Kroos to curl his shot inside the post in the 55th and then scored three minutes later, when he played the ball through Christian Fuchs' legs, bounced off a Schalke defender and poked the ball beyond Lars Unnerstall.

"It was a very intense game for both teams. Schalke stood up to us in the first half, which was a real slugfest. We then showed our class in the second half, when we were clearly superior," said Bayern coach Jupp Heynckes.

U.S. midfielder Jermaine Jones, who overcame an ankle injury to play, blamed "individual errors" for his side's loss.

Greuther Fuerth took the lead in Wolfsburg in the 28th, when the home side's defence failed to deal with Max Gruen's goalkick and Emanuel Pogatetz eventually knocked the ball past his own goalkeeper. Ivica Olic levelled shortly before the break.

There was no late game in the Bundesliga on Saturday due to German teams' participation in the Europa League on Thursday.

Bayer Leverkusen hosts Borussia Moenchengladbach on Sunday, when Stuttgart and Hannover visit Werder Bremen and Hoffenheim, respectively.

On Friday, Eintracht Frankfurt became the first promoted side to win its opening four games of a Bundesliga season with a 2-1 victory at Nuremberg.