Footage showed dozens of people fleeing from a bus stop during the morning rush hour.
Paramedics who responded said the scene was chaotic and covered in broken glass, with people wounded and lying unconscious on the road and a pavement near the bus stop.
Police said two attackers were shot dead.
Israeli Prime Minister Benjamin Netanyahu has visited the scene and was assessing what happened with his heads of security.
It is understood a total of about 15 people were injured – with six in a serious condition – after the attackers boarded a bus and opened fire as it reached a major intersection at the northern entrance to Jerusalem, on a road that leads to Jewish settlements in east Jerusalem.
Israel Defence Forces soldiers were dispatched and are searching the area for any other suspects. They are also searching several Palestinian villages on the outskirts of the nearby West Bank city of Ramallah.
More from Sky:
West Bank: The city locked down by armed troops
Family describe daily harassment by young Israeli settlers
What are West Bank settlements, who are settlers?
Palestinian militant group Hamas praised two Palestinian “resistance fighters” who it said had carried out the attack but it stopped short of claiming responsibility.
Among the dead was a man of about 50 years old, three men aged around 30 and a woman of about 50.
Israeli Foreign Minister Gideon Saar said during a visit to Budapest that six people were killed and a pregnant woman was among several injured.
Other casualties have been evacuated from the scene to hospitals in Jerusalem. A number are said to be in a serious condition with gunshot wounds.
Several people with minor injuries from glass shards were being treated at the roadside.
The shooting is sure to ignite tensions in the region.
Even before it happened, Israel had vowed to ramp up airstrikes on Gaza in a “mighty hurricane”, to serve as a last warning to Hamas that it will destroy the enclave unless fighters accept a demand from US President Donald Trump to free all hostages and surrender.
Residents said Israeli forces bombed Gaza City from the air and blew up armoured vehicles in its streets.
Hamas said it was studying the latest US ceasefire proposal, delivered on Sunday with a warning from Trump’s that it was the militant group’s “last chance”.
“A mighty hurricane will hit the skies of Gaza City today, and the roofs of the terror towers will shake,” Israeli Defence
Minister Israel Katz wrote on X.
“This is a final warning to the murderers and rapists of Hamas in Gaza and in the luxury hotels abroad: Release the
hostages and lay down your weapons – or Gaza will be destroyed, and you will be annihilated,” he wrote.
The war in Gaza has sparked a surge of violence in both the Israeli-occupied West Bank and Israel.