The Polish striker struck on 54 minutes after the home side had thrown the kitchen sink at Robin Dutt’s side – only to be denied by an inspired Sebastian Mielitz.
But Dortmund's narrow win makes it a 100 per cent record from three matches in the Bundesliga, as they look to reclaim the title from Bayern Munich.
Like last weekend against Eintracht Braunschweig, Dortmund started in first gear and failed to really click into the same form from last season.
Shots were sporadic from long-range with Marco Reus threatening from the left-hand side of the attack.
The Poland winger burst forward on 35 minutes and proceeded to smash the underside of the crossbar from the right-corner of the box in the game’s only serious early glimpse of goal.
But the match came to life inside the last five minutes of the half with Dortmund pounding Mielitz’s goal.
First, Grosskreutz picked out Reus from an advanced right-sided position and the 24-year-old showed outstanding balance to set himself for a right-footed volley back across goal only to miss the post by inches.
Although Lewandowski couldn’t get any touch on Reus’ previous effort, the Polish forward was denied by Mielitz from the edge of the box, a minute later.
Werder Bremen were rattled and a Reus strike from 35 yards was another effort on target for BVB without finding the net.
From the resulting corner-kick, Neven Subotic’s header was cleared off-the-line by Italian left-back Luca Caldirola, before Lewandowski and Nuri Sahin failed to burst the net as Werder were unconvincing in their defending.
But the last attack of the half was at the other end, dramatically, as Marko Arnautovic fired a low drive which was tantalisingly close to sneaking in at the far corner.
Reus was at the heart of everything in the second half and on 51 minutes lined the ball up for Sebastian Kehl who came close from 25 yards.
Three minutes later, Borussia Dortmund took the lead with Reus popping up on the right-flank and cutting back for Lewandowski who tapped into an empty net.
After 66 minutes, Reus found space again behind Gebre Selassie and picked out Sahin at the edge of the box only to miss the target completely.
Aubameyang’s incredible acceleration was always going to be important in the last 20 minutes and he was blocked by Mielitz in a one-on-one opportunity.
Bremen cleared the ball off-the-line for the second time in the game with eight minutes remaining, as captain Aaron Hunt popped up to save the away side’s blushes.
Roman Weidenfeller was largely a spectator in the Dortmund goal but he reacted impressively to deny substitute Franco di Santo from curling in a spectacular equaliser on 86 minutes.
But Dortmund’s dominance paid off with Werder Bremen unable to make it a nervy finish to the game with the hosts maintaining their 100 per cent Bundesliga record.