Dortmund showed none of the same offensive appetite and were punished when Dutchman Ibrahim Afellay scored for visitors Schalke in the 14th minute with a well-timed shot.
Marco Hoeger silenced the 80,0000 crowd at the Westfalen stadium three minutes after the restart, chasing down a perfect defence-splitting pass from Lewis Holtby to beat goalkeeper Roman Weidenfeller.
Robert Lewandowski cut the deficit in the 55th with a header but the hosts soon ran out of ideas as they suffered their first defeat to local rivals Schalke since February 2010 and saw their title defence take a further hit this season.
Schalke are third on 17 points with fellow Champions League competitors Dortmund, quickly dropping out of contention, in fourth on 12.
Fans of the Ruhr Valley rivals clashed prior to the game, destroying a snack bar and attacking police, officials said.
Trouble started with some 1000 Schalke fans arriving in Dortmund, lighting flares on their way to the stadium and fighting with rival fans and both attacking police who tried to separate them.
Police used a water cannon to stop Schalke fans trying to destroy a fence while mounted police were also attacked with stones.
Police said fans had also destroyed a snack bar near the stadium, breaking it up and using parts of it as missiles.
The two teams are among the most fervently supported in Germany and despite have one of the biggest and longest-running Bundesliga rivalries being only a few kilometres apart.
"Dortmund and Schalke's violent criminals consciously undermined our security concept and arrived ready to conspire," said Dortmund police director Dieter Keil. "Their aim was to fight their rivals and innocent people."
Promoted Eintracht Frankfurt kept up their spectacular opening to the campaign with a 3-1 home victory over Hanover 96 to stay five points behind Bayern in second place.
Bayer Leverkusen rescued a 2-2 home draw against Mainz 05 courtesy of an 87th minute Gonzalo Castro goal while VfL Wolfsburg dropped to last place, beaten 2-0 by visitors Freiburg to increase pressure on coach Felix Magath.