Gotze gives Dortmund late win in opener
Werder looked on course to claim a point when Czech defender Theodor Gebre Selassie netted on his Bundesliga debut in the 75th minute.
Six minutes later Robert Lewandowski laid the ball off and Gotze placed a low shot past goalkeeper Sebastian Mielitz to get Dortmund, champions for the last two seasons, off to a winning start.
Marco Reus opened the scoring for Dortmund 11 minutes into his first league appearance following his move from Borussia Monchengladbach.
"We did a lot of things right and the things we didn't do right we can improve on," said Dortmund's flamboyant coach Jurgen Klopp, wearing his characteristic three days' growth of stubble on his chin.
"We haven't had a competitive game for 14 weeks so the understanding is not the same."
According to media reports Reus cost a fee of 17 million euros and Dortmund are hoping he will make up for the absence of Shinji Kagawa in midfield after the Japanese player was sold to Manchester United in the close season.
The 23-year-old made a dream start, rolling the ball into the far corner of the net after Jakub Blaszczykowski's pass was missed by Aleks Ignjovski and fell at his feet.
Backed as usual by a crowd of 80,000-plus, including the intimidating standing-only Suedtribune, Dortmund initially threatened to swamp Werder.
The visitors came back strongly though as volatile Austrian Marko Arnautovic hit the foot of the post and Eljera Elia forced a good save from Roman Weidenfeller before half-time.
Arnautovic, desperate to prove he has turned the corner after a flurry of disciplinary problems restricted his appearances for club and country last season, was Werder's most dangerous player and set up the equaliser.
The ball was fed to him on the edge of the area and he floated over a cross which Gebre Selassie, signed after his sparkling performances at Euro 2012, met with a looping header into the far corner.
Polish pair Blaszczykowski and Lewandowski then combined to tee up Gotze and the 20-year-old placed his shot into the bottom left-hand corner three minutes after being brought on.