The motive for the shooting was not immediately clear, but it came amid heightened tensions following a series of deadly attacks carried out by Palestinians.
Live footage from Israel’s Kan broadcaster showed police flooding the area and training their guns on the upper story of a building. It also showed an explosion of some kind.
“A terrorist opened fire at short range and then fled on foot. Several people are wounded,” police spokesman Eli Levy said on Channel 13 television, Reuters reported.
“Don’t leave your homes. Don’t stick your heads out of the window. Stay off your balconies,” Levy said.
Israel’s Magen David Adom emergency service said it received reports of a shooting at “several scenes” around downtown Tel Aviv. It said it had evacuated six people to a nearby hospital, three of whom were in serious or critical condition.
The nearby Ichilov hospital said two people had died and that it was treating another eight who were wounded.
At least one shooting took place on Dizengoff Street, a central thoroughfare and popular weekend hangout. Police urged people to avoid the area.
TV footage showed armed officers running down Dizengoff Street and side streets trying to track down the attacker, Reuters reported.
Prime Minister Naftali Bennett was monitoring the situation from the Israeli military headquarters, which is also in downtown Tel Aviv, his office said.
“It’s an atmosphere of war. Soldiers and police are everywhere… They searched the restaurant,” and people are crying, restaurant worker Binyamin Blum told AFP.
Tensions have been high after a series of attacks by Palestinian assailants killed 11 people just ahead of the holy Islamic month of Ramadan, which began nearly a week ago.
Last month, a gunman on a motorcycle opened fire in a city in central Israel,. Days before that, a pair of gunmen killed two young police officers during a shooting spree in the central city of Hadera, and the week before, a lone assailant killed four people in a car ramming and stabbing attack in the southern city of Beersheba.
Last year, protests and clashes during Ramadan ignited an 11-day Gaza war.
Israeli, Jordanian and Palestinian leaders have held a flurry of meetings in recent weeks, and Israel has taken a number of steps aimed at calming tensions, including issuing thousands of additional work permits for Palestinians from the Gaza Strip.
Prior to the attack, Israel had said it would allow women, children and men over 40 from the occupied West Bank to pray at the Al-Aqsa Mosque in east Jerusalem on Friday, the first weekly prayers of Ramadan. Tens of thousands were expected to attend.
The mosque is the third holiest site in Islam and sits on a hilltop that is the most sacred site for Jews, who refer to it as the Temple Mount. The holy site has long been a flashpoint for Israeli-Palestinian violence.
Israel captured east Jerusalem, the West Bank and the Gaza Strip in the 1967 Mideast war. The Palestinians want all three territories to form their future state. The last serious and substantive peace talks broke down more than a decade ago, and Israeli Prime Minister Naftali Bennett is opposed to Palestinian statehood.
Israel annexed east Jerusalem in a move not recognized internationally and considers the entire city to be its capital.
It withdrew soldiers and settlers from Gaza in 2005, but along with neighboring Egypt it imposed a crippling blockade on the territory after the militant Hamas group seized power from rival Palestinian forces two years later. Israel and Hamas have fought four wars since then.
This is a developing story and will be updated.