Hellas Verona needed extra time to beat 10-man Perugia and set up a Serie B promotion play-off semi-final against Pescara.
Verona broke through just before the break with Samuel Di Carmine’s turn and strike, but despite seeing Christian Kouan sent off for a second bookable offence, Perugia still equalised with a last-gasp Luca Vido penalty.
Giampaolo Pazzini’s last-gasp effort was deflected on to the crossbar, so they had to go to extra time.
The strain of playing with 10 men eventually took its toll and Perugia crumbled, but only after an Alan Empereur screamer into the top corner.
Pazzini then nodded in a Seung-Woo Lee cross from the by-line and completed his brace on Liam Henderson’s assist.
Hellas Verona will face Pescara on May 22 and 26 in the two legs of the promotion play-off semi-final.
Verona 4-1 Perugia (aet)
Di Carmine 42 (V), Vido pen 89 (P), Empereur 101 (V), Pazzini 118, 121 (V)
Sent off: Kouan 64 (P)