Hamburg's Ruud van Nistelrooy celebrates a wonderful Saturday, scoring twice for his new club. Hamburg's Ruud van Nistelrooy celebrates a wonderful Saturday, scoring twice for his new club. (Daniel Maurer/Associated Press)

Bayern Munich rallied to beat Borussia Dortmund 3-1 Saturday and move within a goal of Bundesliga leader Bayer Leverkusen, which capitalized on two goalkeeping errors to beat defending champion Wolfsburg 2-1 to remain undefeated.

Captain Mark van Bommel, Arjen Robben and Mario Gomez scored for Bayern after Mohamed Zidan had put Dortmund ahead. Bayern won its ninth straight match, while Dortmund fell to its third consecutive defeat.

"I am very pleased we won this game, we had to work hard for the win," Bayern coach Louis van Gaal said. "It was a very tough game."

Bayern and Leverkusen both have 48 points and have scored 48 goals, but Leverkusen has conceded one less goal.

Ruud van Nistelrooy scored his first Bundesliga goals, notching two in three minutes to give Hamburg SV a 3-1 win in Stuttgart. Werder Bremen thrashed Hannover 5-1 and Bochum beat Hoffenheim 2-1.

Last-place Hertha Berlin drew 1-1 with Mainz.

In Munich, Dortmund went ahead only five minutes into the match, when Bayern defender Daniel van Buyten twice lost possession to Zidan and the Egypt striker slotted the ball home.

Van Bommel pulled his team level with a deflected shot in the 21st. Bayern took the lead in the 50th after some clever passing between Thomas Mueller and Franck Ribery, who broke through on the left and sent a pinpoint pass through the legs of Neven Subotic for Robben to prod home.

Gomez shook off defender Subotic to score Bayern's third in the 65th, off another pass from Ribery.

"It was hard work," Van Bommel said.

Leverkusen remains unbeaten after 22 games but came under heavy pressure late in the game from Wolfsburg, which has now not won in 10 matches.

Stefan Reinartz opened the scoring after 48 minutes, pouncing on the loose ball after Wolfsburg goalkeeper Andre Lenz, starting for the injured Diego Benaglio, had fumbled a cross.

Lenz played an unintentional role in Leverkusen's second goal as well, again after a ball into the middle. Eren Derdiyok's header bounced off the crossbar, hit Lenz in the foot and rolled into the net.

Edin Dzeko pulled one back for Wolfsburg and the visiting team stepped up the pressure in the final minutes but goalkeeper Rene Adler made sure of Leverkusen's victory.

In Stuttgart, Van Nistelrooy was sent on after 65 minutes and notched two opportunistic goals in the 75th and 77th. The Dutch striker joined Hamburg from Real Madrid in the January transfer window and has been on the bench because of a knee injury.

Stuttgart, unbeaten in six games under new coach Christian Gross, trailed early to a Marcus Berg goal in the 23rd minute. Christian Traesch levelled with a blistering shot from 18 metres in the 55th minute before Van Nistelrooy's goals secured Hamburg's first win in four games.

Werder scored four times in the first half against the hapless Hannover, which has now lost seven straight matches.

Peter Niemeyer, Naldo, an own-goal from Leon Andreasen and Aaron Hunt put Bremen firmly in control. Christian Schulz pulled one back for Hannover but Claudio Pizarro completed the rout for Bremen's third consecutive win.

Bochum moved closer to the middle of the standings with its victory over Hoffenheim. Vedad Ibisevic cancelled out Stanislav Sestak's first-half goal for Bochum but Zlatko Dedic scored the winner with a powerful header in the 76th minute.

Hertha again failed to win at home and looks destined for relegation after finishing fourth last season. Aristide Bance scored a spectacular goal for Mainz before Adrian Ramos salvaged a point for Hertha.