Nashat Melhem was tracked down to a mosque in his home town of Arara and killed in a gun battle, police said.
The attacks sparked a huge hunt and security alert across the country.
Police said Melhem, 29, was the gunman who killed two Israelis at a bar, then the Israeli Arab driver of a taxi who picked him up after the attack.
Security camera footage showed a suspect taking an automatic rifle out of his backpack and then firing at least 15 shots at people in the street before fleeing the scene.
Alon Bakal, 26, who was a manager at the bar, and Shimon Ruimi, 30, were killed.
Taxi driver Amin Shaban died after being found critically injured in the north of the city shortly after the shootings.
Melhem's father, Mohammed, identified his son as the suspect and reported him to the police. Mohammed Melhem and several relatives have been arrested in connection with the case.
Israeli Prime Minister Benjamin Netanyahu congratulated security forces, who he said had "worked tirelessly, methodically and professionally to locate and eliminate the terrorist".
Police spokeswoman Luba Samri said Melhem was shot dead after opening fire.
A witness, Hakim Younis, told Israel's Channel 10 TV he saw a fierce gun battle, the Associated Press news agency reported
"I was sitting on my balcony with my cousin... when suddenly shooting began, hundreds of bullets, like in a war," he said.
Police have not yet established a motive for the Tel Aviv killings.
Israel was already on high alert amid a wave of attacks on Israelis by Palestinians and some Israeli Arabs which have killed 22 Israelis since the beginning of October.
During that time 149 Palestinians - more than half said by Israel to be attackers - have been shot dead by security forces or their victims. Others have been killed in clashes with Israeli forces.
One Israeli Arab was also shot dead after carrying out an attack at a bus station in southern Israel in October in which an Israeli soldier was killed.
An Israeli Arab wanted for shooting dead three people in Tel Aviv on 1 January has been killed by security forces in northern Israel.