Angriparen knivhögg först två personer på trottoaren i Rishon Lexion och sedan en tredje inne i en klädbutik innan han greps av polis. För två av offren är tillståndet allvarligt, uppger sjukhuskällor.
Förövaren är 19 år och från staden Hebron på den ockuperade Västbanken.
Polisen fick gripandet skydda gärningsmannen från att själv attackeras av en aggressiv folkmassa, uppger Haaretz.
Tidigare på dagen sköts en palestinier till döds på Västbanken när han enligt armén försökte döda en israelisk soldat med kniv.
Nio israeler och 68 palestinier, hälften av dem misstänkta angripare, har dödats i våldsvågen som inleddes i början av oktober.