The BBC reported that two members of the public were killed in what police have called a terrorist attack. Reuters was not immediately able to confirm the deaths.
The attacker went on the rampage just before 2pm (local time), attacking people at a premises near London Bridge in the heart of the city's financial district - the scene of a deadly attack by Islamist militants two years ago.
Half a dozen bystanders tackled the suspect to the ground and grabbed his knife. A video posted on Twitter showed police dragging one man off the suspect before an officer took careful aim. Two shots rang out. The man stopped moving.
Prime Minister Boris Johnson, who has called a snap election for December 12 and is due to host NATO leaders including U.S. President Donald Trump next week, praised those who took on the man for their courage and said Britain would never be cowed.
"I ... want to pay tribute to the extraordinary bravery of those members of the public who physically intervened to protect the lives of others," Johnson told reporters in Downing Street.
"For me they represent the very best of our country and I thank them on behalf of all of our country," Johnson said. "This country will never be cowed, or divided, or intimidated by this sort of attack."
He said the incident was now thought to have been contained and vowed that anyone else involved would be hunted down.
Britain's top counter-terrorism officer, Neil Basu, said specialist armed officers from the City of London police shot the suspect, who died at the scene.
"A number of other people received injuries during this incident," Basu said. "We believe a device that was strapped to the body of the suspect was a hoax explosive device."
Campaigning has been temporarily suspended.
"AMAZING BRAVERY"
Ordinary Londoners demonstrated "breath-taking heroism" in disarming the knife-wielding attacker, the city's mayor Sadiq Khan said.
"What's remarkable about the images we've seen is the breath-taking heroism of members of the public who literally ran towards danger not knowing what confronted them," Khan told reporters, adding that the man had been wearing a fake bomb.
"Members of the public didn't realise at the time that was a hoax device, and they really are the best of us," Khan added.
George Robarts, a translator who was on the bridge at the time of the attack, said the unidentified man ran through the traffic and jumped the central partition to tackle the attacker with several other people.
"We ran away but looks like he disarmed him," he said. "Amazing bravery."
Rob Underwood, who was at the scene, said that people scattered as the attack unfolded and then hit the ground.
"Apart from momentarily looking up and seeing whatever that flash might have been, it's difficult. You feel as though you're in a bubble, really," he told Reuters. "It was almost like a firecracker going off."
The ambulance service declared a "major incident" in the area and London Bridge station, a busy commuter hub, was closed.
PREVIOUS ATTACKS
During the 2017 election campaign, London Bridge was the scene of an attack when three militants drove a van into pedestrians and then attacked people in the surrounding area, killing eight and injuring at least 48.
Islamic State said its fighters were responsible, but the British authorities have cast doubt on those claims.
The month before, a suicide bomber killed 22 children and adults and wounded 59 at a packed concert hall in the English city of Manchester, as crowds began leaving a concert by U.S. singer Ariana Grande.
In March the same year, an attacker stabbed a policeman close to London's parliament buildings after a car ploughed into pedestrians on nearby Westminster Bridge.
Six people died, including the assailant and the policeman he stabbed, and at least 20 were injured in what police called a "marauding terrorist attack".
Earlier this month, Britain had lowered its national terrorism threat level to "substantial" from "severe", its lowest level since 2014.