Salah stole the show as Roma strode confidently back up to second at four points behind Juventus
With 10 goals this season, Dzeko lined up at the Stadio Olimpico hoping to go one ahead of Inter Milan's Mauro Icardi after he pulled level with the Bosnian by hitting a brace in a 3-0 win over Crotone.
But Salah, whose only previous hat-trick came for Egypt in a World Cup qualifier against Zimbabwe in 2013, stole the show as Roma strode confidently back up to second at four points behind Juventus and one ahead of AC Milan ahead of the international break.
Salah's 13th minute strike inside the box took a deflection on the goalline before it wrong-footed Bologna 'keeper Angelo Da Costa.
But league officials credited him with the goal, and the former Chelsea midfielder went on to hit a second-half brace as Luciano Spalletti's men maintained their title challenge to a Juventus side that, earlier, laboured to a 2-1 win at Chievo.
It took Salah until the hour mark to hit his second, but he made no mistake running on to Kevin Strootman's precision ball to beat Da Costa at his far post.
Barely ten minutes later, Salah was on hand to fire past Da Costa again after the 'keeper spilled a Dzeko drive.
Salah could have added a fourth in the final minutes, but sent a first-time effort over the crossbar from Radja Nainggolan's drive across goal.
Dzeko spurned a chance almost immediately, the Bosnian firing over from eight yards out.
Salah exited to a standing ovation six minutes from the end when he was replaced by Stephan El Shaarawy, who is half-Egyptian.