Lorenzo Insigne shot Napoli into the semi-finals of the Italian Cup on Tuesday with the only goal in an eventful 1-0 win over in-form Lazio.

Italy international Insigne needed just 99 seconds to score the goal that won a match that saw both teams have a player sent off and Ciro Immobile miss a penalty in the first 25 minutes.

The win for Napoli, which comes after three straight defeats in the Serie A, means they will face either league title-chasers Inter Milan or Fiorentina, who face off on January 29 at the San Siro.

Holders Lazio meanwhile did everything but score on a night when both teams hit the woodwork several times, with Immobile having a rare off night in a season that has seen him score 26 goals in all competitions.

Insigne showed some of the sparkling form that has been lacking this season when he opened the scoring, weaving past Luiz Felipe before slotting home a neat finish.

The away side quickly shook off the cobwebs though and quickly had a Sergej Milinkovic-Savic shot pushed away before Elseid Hysaj kicked Felipe Caicedo in the box as the Ecuadorian dived for a 10th-minute header.

However Immobile let Napoli off the hook by slipping as he was about to kick the resulting penalty, which finished in the running track behind the goal.

Things looked to be turning towards Lazio when Hysaj, already booked for his challenge on Caicedo, clattered into Immobile as the striker raced away and picked up a deserved second booking with less than 20 minutes gone.

But with Napoli facing over 70 minutes a man down, referee Davide Massa soon levelled the playing field by inexplicably booking Lucas Leiva for a fine tackle on Piotr Zielinski, before quickly flashing another yellow card at the livid Brazilian for dissent.

Lazio dominated the early stages of the second half, with Immobile having a goal ruled out for offside, but it was Napoli who came closest to scoring with 20 minutes left when Arkadiusz Milik’s header was tipped onto the post by Thomas Strakosha.

Immobile then compounded a poor night by smashing a presentable opportunity onto the bar with six minutes remaining, before Mario Rui responded seconds later by curling his own shot off the post.

Simone Inzaghi was left bemoaning his team’s poor luck again when Manuel Lazzari’s deflected shot hit the woodwork and fell to Francesco Acerbi, who was ruled offside after lashing home on the rebound as the hosts held on for a big win.

Lazio’s local rivals Roma travel to Juventus on Wednesday, while AC Milan host Torino on January 28.