Chelsea had won just three of their previous 16 matches to fall to 10th in the Premier League and bow out early of both domestic cups.
But some of their expensive collection of stars showed up in time to remain in the hunt for a third European Cup.
Kick-off was delayed by 10 minutes after Dortmund got stuck in the heavy London traffic on arrival to the stadium.
Once the action got underway, Chelsea sped out of the blocks.
Alexander Meyer had to fly off his line to block from Joao Felix from a narrow angle before Havertz fired a big chance into the side netting.
Dortmund arrived in England on the back of a 10-game winning run in all competitions.
But the visitors posed barely any attacking threat in the first half bar a Marco Reus free-kick that Kepa Arrizabalaga did brilliantly to palm to safety.
Chances continued to come and go at the other end. Havertz smashed a volley off the inside of the post and then finally found the net via the underside of the bar only for the goal to be ruled out for an offside against Sterling earlier in the move.
The worst miss was to come as Kalidou Koulibaly miscued with an open goal from Ben Chilwell’s free-kick and Felix’s follow-up effort was blocked on the line.
Potter was uncharacteristically animated on the touchline as he constantly whipped the crowd up to keep pushing his side forward.
And the home fans finally had something to celebrate three minutes before half-time.
– Sterling comes good –
Sterling’s first attempt was another one to forget as he swiped and missed Chilwell’s low cross, but the England international composed himself to dribble past Reus and fire high into the net.
That was just Chelsea’s third goal in the last eight games.
Havertz’s penalty early in the second half meant Potter’s men scored more than once for the first time since December 27, but the German international needed two spot-kicks to make his mark.
Marius Wolf was penalised for handling Chilwell’s cross after a VAR review.
Havertz’s first penalty came back off the post, but VAR came to Chelsea’s rescue once more as Dortmund were further punished for encroaching.
There was no second reprieve as Havertz coolly slotted the ball the same way, this time finding the corner of the net.
Chelsea’s spending spree may have ruled them out of the running for Jude Bellingham with the Dortmund midfielder expected to have his choice of Europe’s top clubs this summer.
On his return to England, Bellingham was far from his best and missed a big chance to level the tie when he side-footed wide just before the hour mark.
Chelsea were guilty of trying to protect their advantage in the final quarter and relied on Kepa to bail them out as Wolf stung the palms of the Spaniard.
But they should have still added a third on the counter-attack as Sterling again failed to hold his run before squaring for Conor Gallagher to roll into an empty net.