This fixture felt particularly important for Marco Zaffaroni’s relegation-threatened side, who face the daunting task of a trip to Champions League semi-finalists AC Milan on the final matchday.
After a fairly even start to the game, which saw both teams struggle to carve out any significant openings, Empoli’s Liberato Cacace fired a strike directly at Lorenzo Montipo before Guglielmo Vicario pulled off a magnificent save down at the other end of the pitch to thwart Cyril Ngonge’s header.
Following a cooling break in the 26th minute due to high temperatures, Ngonge continued to cause problems in the final third, forcing another fine stop from Vicario after getting on the end of Filippo Terracciano's dangerous ball into the box.
Despite their improvement as the half progressed, though, the Gialloblu were unable to find the all-important breakthrough before the interval as the two teams headed into half-time on level terms.
The visitors started on the front foot after the break and sought to catch Verona off guard early on. However, the home side quickly settled back into the game and eventually took the lead in the 61st minute through substitute Adolfo Gaich, who buried the rebound after Vicario had initially parried Ngonge’s effort from outside the area.
After taking the lead, Verona remained in command as they went in search of a second goal. Empoli, however, felt they should have been awarded a penalty late in the game following a foul in the area, but the hosts were offered a reprieve when VAR adjudged the incident did not warrant a spot-kick.
Deep in injury time, though, Verona hearts were broken as Stojanovic struck from a tight angle via a slight deflection.
The gutting draw means the home outfit remain in the drop zone and now need to better Spezia's result against Roma next week to stay in the top flight.
Empoli, meanwhile, had already secured their own safety and will end the campaign by hosting S.S Lazio.