The Giallorossi were under sustained pressure for much of the game and found themselves trailing to substitute Brian Brobbey’s goal early in the second half.
After Dusan Tadic had a second ruled out for the visitors, Roma secured victory in the tie through Edin Dzeko’s tap-in from a rare attack, as Paulo Fonseca’s side built on their late 2-1 win in Amsterdam.
Despite early Ajax pressure, it was Roma who had the ball in the back of the net first as Jordan Veretout swept home in the box, but the Frenchman had strayed offside.
Lorenzo Pellegrini saw a shot from outside the area sting Maarten Stekelenburg’s gloves, whilst at the other end Ajax were handed an opportunity to take the lead by Roma goalkeeper Pau Lopez. The Spaniard’s wayward kick was cut back into the box, but he was relieved to see Davy Klaasen’s goalbound shot blocked.
Tadic soon went close for the visitors as he scooped a low shot straight at Lopez, whilst the Serbian saw claims for a penalty waved away after Riccardo Calafiori held him off in the box.
Looking to protect their advantage, Roma sat deep and frustrated Ajax in the closing stages of the first half, allowing the Dutch champions plenty of possession but few clear chances.
Ajax made a fine start t0 the second half however as substitute Brobbey raced onto a wonderful Perr Schuurs through ball and deftly lofted over Lopez, after the goalkeeper rashly charged out.
Within 10 minutes of the restart Ajax appeared to have taken control of the tie as Tadic fired in. The ball was released for Brobbey to shoot and force a parry from Lopez, allowing Tadic to score from the rebound, but a VAR check found a foul on Henrikh Mkhitaryan in the build up.
Roma were struggling to create and rarely found Dzeko in attack, but after good footwork from Pellegrini in the box forced a corner, the Bosnia striker headed over from the resulting delivery.
Against the run of play the Giallorossi levelled with some fortune, as Calafiori drove forward and saw his low cross deflect towards Dzeko for the former Manchester City man to slot into the bottom corner.
The goal gave Roma new-found belief and substitute Borja Mayoral led the line well, as the Lupi soaked up Dutch pressure and frustrated their opponents.
Roma will now face Manchester United in the Semi-Final after the Premier League club defeated Granada 4-0 on aggregate.