Israels premierminister, Benjamin Netanyahu, kalder episoden et “terrorangreb”.
Angrebet er sket, på et tidspunkt hvor Vestbredden oplever øget uro.
Den militante islamistiske bevægelse Hamas siger, at den 23-årige angrebsperson er Hamas-medlem.
Politi afspærrede et område i bymidten, hvor angrebet fandt sted.
En restaurant stod tom, efter at kunder tilsyneladende flygtede midt i deres måltid, viser Reuters-billeder.
Læger behandlede de sårede på et fortov tæt på.
To politimænd og to civile, som var i området, angreb den formodede angrebsmand og dræbte ham, oplyser israelsk politi.
Skyderiet finder sted i kølvandet på en række angreb udført af palæstinensere i Jerusalem og på Vestbredden. 13 israelere og en ukrainsk kvinde er blevet dræbt siden sent i januar.
I løbet af det seneste år har israelske styrker foretaget tusindvis af anholdelser på Vestbredden og dræbt over 200 palæstinensere, både militante og civile.
Over 40 israelere har mistet livet i angreb udført af palæstinensere i samme periode.
Benjamin Netanyahu fik en opdatering om situationen på en tur til Italien.
– Vi styrker sikkerhedsstyrkerne og politiet, som bekæmper terrorister dag og nat, siger han.
Israels militær udtaler senere, at det foretager en operation i den by i Vestbredden, hvor den formodede gerningsmand boede.
Tidligere torsdag dræbte israelske styrker tre bevæbnede personer fra den militante gruppe Islamisk Jihad i en skudepisode på Vestbredden.
Hamas udtaler, at Tel Aviv-skyderiet var et modsvar til den episode.
– Den heroiske operation er et naturligt modsvar på de forbrydelser, som besætterne har udført, siger Hamas-talsmand Hazem Qassem.
De tre sårede i Tel Aviv-skyderiet blev hastet til hospitalet. En af dem var i alvorlig tilstand.
/ritzau/Reuters
Andre læser også