Mario Balotelli made a belated debut for Brescia. The striker joined the newly-promoted club in the summer after being released by Marseille but had to serve a four-match ban picked up while playing for the French side.
There was no Cristiano Ronaldo for Juve, though, the Portuguese left out as a precaution because of a minor thigh issue.
Brescia made a dream start when Donnarumma's speculative shot from outside the box somehow found its way through Szczesny and into the back of the net.
Juventus immediately went in search of an equaliser but Adrien Rabiot shot over the bar, Aaron Ramsey headed off target and Sami Khedira also went close before Danilo was forced off through injury.
Szczesny went some way towards redeeming himself by pushing a Balotelli free-kick over the bar, and Juve found their leveller five minutes before the break.
It was a scrappy goal, with a corner taking a number of deflections before it eventually found its way into the net off Chancellor.
Paulo Dybala came close to putting Juve ahead on the hour mark but Jesse Joronen made a fine save.
There was nothing he could do three minutes later, though, when Pjanic picked up the ball after a free-kick had been blocked by the wall and fired a shot into the corner.
Balotelli had an immediate chance to level but could not find a way past Szczesny.
It was a good debut for the striker, who troubled Juve's back line on numerous occasions and had other glimpses of an equaliser but the visitors held on.