The Hull striker has grabbed his 11th international goal.
It was no more than Ireland deserved, after Wes Hoolahan was incorrectly judged offside from Glenn Whelan’s volley in the opening moments.
Serbia equalised early in the second half when James McCarthy put through his own net.
The game turned on its head on the hour mark when Filip Djordjevic scuffed in an effort from Zoran Tosic.