The champions netted three times in four minutes at the end of the first half, with Lewandowski setting a club record by scoring in his eighth straight league game.
Jonathan Schmid had given eighth-placed Freiburg a 28th-minute lead but Lewandowski levelled 13 minutes later.
Turkey midfielder Sahin made it 2-1 before Poland striker Lewandowski added a third goal with a brilliant solo effort in stoppage time, his 19th of the season in the league.
Sahin, who returned to Dortmund in the January transfer window after unhappy spells at Real Madrid and Liverpool, grabbed his second goal in the 72nd minute.
Lewandowski then did well to set up the talented Leonardo Bittencourt for his first Bundesliga goal six minutes later.
"It was a deserved victory although I can understand Freiburg are a bit frustrated because no-one expected this result at four o'clock," said Dortmund coach Juergen Klopp.
"Freiburg were very tough and tactically smart in the first half but we reacted really well and played great football after going 1-0 down."
Dortmund, who face Malaga in next month's Champions League quarter-finals, have 49 points from 26 games. Bayer Leverkusen, third on 45 points, take on runaway leaders Bayern Munich later on Saturday.
Bayern, who are also in the last eight of the Champions League, have 66 points and are all but certain to secure their first league title since 2010.
Schalke 04, knocked out of the Champions League by Galatasaray in midweek, lost 3-0 at Nuremberg on Saturday to drop to fifth on 39 points.
The visitors hit the woodwork through Julian Draxler and Benedikt Hoewedes but could not make a breakthrough as Nuremberg moved up to 11th with 34 points.
The defeat leaves the future of Schalke coach Jens Keller in doubt.
Hamburg SV, missing injured playmaker Rafael van der Vaart, lost ground in the battle for a Europa League spot, slumping to a 1-0 home defeat by third from bottom Augsburg after a goal by Jan-Ingwer Callsen Braker.
Hamburg, seventh on 38 points, had Maximilian Beister sent off for a rough challenge in the 80th minute.
Werder Bremen needed two penalties from Aaron Hunt to snatch a 2-2 draw against bottom club Greuther Fuerth, prompting coach Thomas Schaaf to criticise his players.
"We are walking on the spot at the moment and I cannot understand this lack of commitment," he told reporters. "It is not about what system we play but about giving it your all."
Werder are 13th on 30 points, six points above the relegation playoff spot.