Bundesliga: Nuremberg 1 Dortmund 1
Marcel Schmelzer put the league leaders ahead with a stunning free-kick shortly before the break at the Grundig-Stadion, but Nilsson popped up to lash home an equaliser for Michael Wiesinger's struggling side just after half-time.
Even though they came into the game without a win this season, Nuremberg were not fazed by their more illustrious opponents and fought back to claim a deserved point after falling behind.
Wiesinger was without injured trio Timo Gebhart, Markus Feulner and Markus Mendler, but Javier Pinola returned from suspension to take his place among the substitutes.
Dortmund, meanwhile, could not call on Mats Hummels (back), but Sokratis Papastathopoulos returned after winning his race for fitness.
Robert Lewandowski, Henrikh Mkhitaryan and Nuri Sahin all started on the bench as Jurgen Klopp opted to rotate his squad.
Klopp’s men unsurprisingly started the game on the front foot and Marco Reus almost gave them the lead after just eight minutes when he got in behind the home defence only to see his effort hacked off the line by Emanuel Pogatetz.
Nuremberg responded well to the early pressure though, creating several decent opportunities of their own in the opening exchanges.
First Makoto Hasebe saw an audacious 35-yard lob go just over the bar, before Mike Frantz's looping header was denied by the woodwork ten minutes later.
However, Dortmund again went close to breaking the deadlock after 25 minutes, when a well-floated diagonal ball from Schmelzer found Pierre-Emerick Aubameyang, only for the forward to rifle his shot wide.
And the league leaders did edge ahead 12 minutes later, as Schmelzer curled a fine 30-yard free-kick into the top corner after Jakub Blaszcykowski had been brought down by Frantz.
Klopp made two changes at the break, replacing goalscorer Schmelzer and Reus - both struggling with injuries - with Nuri Sahin and Jonas Hofmann.
Those alterations upset the rhythm of the visitors, and six minutes into the restart they found themselves on level terms once more.
A well-worked free-kick from Frantz was helped on by Pogatetz in the area, before being smashed home by Nilsson from six yards.
Dortmund went close to regaining the advantage shortly after, as first Blaszczykowski fired wide from the edge of the area, before Marvin Ducksch's powerful effort was denied by Raphael Schafer.
Klopp eventually threw on star striker Lewandowski after 65 minutes in an attempt to unlock the hosts' defence, but the visitors still struggled to assert their authority on the game as Nuremberg's confidence continued to grow.
Hasebe then forced Roman Weidenfeller to make a smart save, after doing well to break away from his marker.
The hosts were soon thanking Schafer at the other end though when Hofman’s surging run allowed him to set up Lewandowski, who stung the palms of the keeper from 12 yards.
But Nuremberg could have grabbed a stoppage-time winner, when substitute Alexander Esswein broke through before firing over.
Dortmund's Sokratis had a late chance of his own at the death, but his header could only find the arms of Schafer.