The Bundesliga side took an early two-goal lead through Javier Hernandez, only for a Daniele De Rossi double and strikes from Miralem Pjanic and Iago Falque to seemingly win the tie for the Giallorossi, until late goals from Kevin Kampl and Admir Mehmedi saved a point for the hosts.
Within four minutes Leverkusen were ahead through a Hernandez penalty, Vassilis Torosidis harshly punished as Hakan Calhanoglu’s cross struck his trailing arm.
However, the Giallorossi fans finally had something to celebrate on 29 minutes, a sloppy punch from Bernd Leno was headed to De Rossi who controlled on his chest and squeezed the ball past the goalkeeper.
The Serie A club then found themselves on level terms, Pjanic with an excellent delivery from a set-piece on the right which De Rossi nudged past Leno with his knee.
Nine minutes into the second period Roma had completed the turnaround, Pjanic this time curling a wonderful free-kick around the wall and past Leno.
With 20 minutes remaining the visitors looked to have missed the chance to extend their lead, as a swift counter-attack ended with Alessandro Florenzi shooting straight at leno instead of passing.
However, the Giallorossi did find a fourth, Gervinho driving into the box and unselfishly laying the ball into the path of Falque to lift the ball over the goalkeeper.
A nervous end for the Giallorossi was still to come though, as Kampl curled an effort past Szczesny with five minutes to play.
Those concerns were confirmed moments later, Wendel breaking down the left and sending in a low cross for Mehmedi to fire home the equaliser.
The Giallorossi must now look to regain their confidence when Leverkusen visit Rome on 4 November, and secure the win that would put them within touching distance of the Last 16.