De aller fleste trodde Djokovic skulle ta seg greit videre mot en spiller som egentlig røk ut i kvalifiseringen i forrige uke, men Sonego motbeviste alle spådommer.
Italieneren utspilte Djokovic med 6-2, 6-1. Det er ydmykende tall for den serbiske verdenseneren, som kun én gang tidligere i karrieren har måttet nøye seg med seier i tre game. Det skjedde i en settserie best av fem i Australian Open i 2005.
Fredagens tap er Djokovics første for en «lucky loser»-spiller.
– Det er helt klart min beste seier noensinne. Novak er verdens beste, men i dag spilte jeg veldig godt, sa Sonego.
Djokovic har ambisjoner om å avslutte et kalenderår som verdensener for sjette gang, men tapet i Østerrike gjør at han må vente før det et formelt klart at han tangerer legenden Pete Sampras rekord.
Casper Ruud stilte til start i ATP-turneringen i Wien, men ble slått ut allerede i første runde. Jannik Sinner fra Italia vant onsdag med 7-6 (7-2), 6-3.