Attacks by Palestinians in Israeli cities have been rare in recent years.
The incident comes amid heightened tensions after attackers killed eight Israelis near Eilat earlier this month.
Israel blames Palestinian militants from the Gaza Strip, who crossed from Egypt's Sinai peninsula, for the series of attacks near the Red Sea resort on 18 August.
More than two dozen people died in the week of hostilities that followed, including leaders of Palestinian militant groups killed in Israeli air strikes on the Gaza Strip.
On Monday, Israeli police spokeswoman Luba Samri said the attacker in Tel Aviv was a Palestinian in his 20s from the city of Nablus, in the occupied West Bank.
He was arrested soon after the early morning attack and taken to hospital with injuries sustained during the arrest. One of his victims was in a serious condition, Ms Samri said.
Attacks by Palestinian militants in Israeli cities were common during the Second Intifada - the Palestinian uprising against Israeli rule - that lasted from 2000 to 2005, but have been rare in the years since.
In May, one person was killed when a lorry driven by an Israeli Arab ploughed into traffic and pedestrians shortly after morning rush hour in Tel Aviv.