BERLIN -- Borussia Dortmund held Bayern Munich to a bad-tempered 1-1 draw in the Bundesliga on Saturday ahead of their Champions League final in three weeks' time.
"Whoever thought this would be a friendly game doesn't know Borussia Dortmund," Dortmund chief executive Hans-Joachim Watzke said. "And they don't know Bayern Munich either."
Kevin Grosskreutz opened the scoring for host Dortmund with an impressive volley in the 11th minute. Nuri Sahin sent the ball to Jakub Blaszczykowski, who waited before picking out Grosskreutz's run to the far post with a precise cross.
Mario Gomez equalized with a header from Rafinha's cross in the 23rd.
Dortmund had penalty appeals waved away before that when Ilkay Guendogan tumbled under Diego Contento's challenge. Guendogan went off as a precaution with a thigh problem shortly afterward.
Dortmund did get a penalty when Sahin's shot struck Jerome Boateng's arm, but Manuel Neuer saved Robert Lewandowski's effort on the hour.
Rafinha was sent off for an elbow to Jakub Blaszczykowski's face in the 64th, two minutes after the Brazilian earned his first yellow for a foul on Julian Schieber.
The defender had a heated dispute with Dortmund coach Juergen Klopp as he made his way off the pitch, with Bayern sports director Mattias Sammer also getting involved.
"We didn't want anyone to suspect it was a friendly game," Klopp said. "Mr. Gagelmann (the referee) asked us to shake hands. It goes on."
Klopp made five changes to the side that played Real Madrid on Tuesday, while Jupp Heynckes changed seven from the side that beat Barcelona on Wednesday.
Five Bayern players were booked, including Rafinha. Bayern had previously only eight yellow cards all season.
"It was a very intense game where nothing was given away," Heynckes said.
Bayern, which wrapped up the title with six rounds to go, maintained its 20-point lead over Dortmund, but failed to extend its record run of 14 successive Bundesliga wins after dropping points for the first time this year. Bayern has not beaten Dortmund in the league in its last six attempts.
"A game against Dortmund, regardless of where it is, is never a friendly game. (It's) a duel at eye-level, 50-50, and it's what we expect in the Champions League final," Neuer said.
Earlier, Bayer Leverkusen clinched direct qualification for next season's Champions League after winning 2-0 at Nuremberg to finish third.
Stefan Kiessling wrapped up the win with a penalty in the 62nd minute to become Leverkusen's record scorer in a league campaign with his 23rd goal.
Omer Toprak opened the scoring with a header from a corner in the 26th for his first Bundesliga goal.
"We can be damned proud. We're playing Champions League next year -- that's a dream," said Kiessling, who passed up the chance to bring his tally to 24 after earning another penalty in the 84th. He handed responsibility to Sidney Sam, who crashed his spot kick off the post.
Eintracht Frankfurt defeated Fortuna Duesseldorf 3-1 to consolidate fifth place and leave the visiting side in danger of finishing the weekend in the relegation playoff place.
Hoffenheim substitute Sven Schipplock scored two late goals to salvage a 2-2 draw at Werder Bremen, Hannover drew 2-2 with Mainz, and relegated Greuther Fuerth won 2-0 at Stuttgart.
In Frankfurt, Alexander Meier scored on the rebound in the 30th, and Srdjan Lakic headed a corner past Fabian Giefer in the 50th, before Duesseldorf substitute Dani Schahin shrugged off two defenders and fired inside the left post in the 78th.
Meier secured the result by curling a fantastic effort inside the far corner in the 87th.
Aaron Hunt opened the scoring in Bremen with a coolly taken penalty in the second minute, and Kevin de Bruyne made it 2-0 by shooting to the far corner in the 24th.
But Schipplock pulled one back in the 85th and snatched an unlikely equalizer in injury time to give his side slim hope of avoiding the drop.
"Maybe we thought we were through," said Bremen defender Sebastian Proedl after his side's 11th game without a win. "It was better than in the last weeks."
Hoffenheim was still second from bottom, two points off the relegation playoff place occupied by Augsburg, which visits Freiburg on Sunday. Duesseldorf was level on points with Augsburg, with Bremen three points ahead. Just two rounds remain after this weekend.