Several people opened fire at the man driving the tractor, journalists said.
"I saw the tractor ramming a car on Jaffa street, people started to shout and I came out the bank and I saw the truck. I shot the driver and the truck stopped," a security guard at a building in the area said.
The tractor driver is said to have been from occupied East Jerusalem, and he had been working at the light rail system.
Traffic has been halted and hundreds of people are reported to have fled through the streets.
At the scene of the attack, injured people lay on the ground amid piles of
broken glass and blood stains on the ground.
The driver of the tractor was slumped motionless over the steering wheel, witnesses said.
There was no word on a motive or claim of responsibility.
Israeli radio said that a state of emergency has been called in Jerusalem.
David Chater, Al Jazeera's correspondent who is at the scene in Jerusalem, said that Israeli local television is reporting that four people have been killed.
"This is... also the busiest [downtown] intersection. If you've got a tractor or bulldozer and you want to cause a massive number of injuries this is indeed the spot that you would choose," Chater said.
Micky Rosenfeld, an Israel police spokesman, described the incident as a "terrorist incident."