A white van hit pedestrians on London Bridge at about 22:00 BST on Saturday before three men got out and stabbed people in nearby Borough Market.
Police said the three men were wearing fake bomb vests.
One of those hurt is a police officer who was stabbed after going to help. His injuries are not life-threatening.
The Conservatives have suspended national general election campaigning and the prime minister will chair a meeting of the government’s Cobra emergency committee later.
Theresa May described Saturday night’s events as “dreadful”, while Labour leader Jeremy Corbyn called them “brutal and shocking”.
London Mayor Sadiq Khan said it was “a deliberate and cowardly attack on innocent Londoners”, but it remained the “safest global city” and Londoners would not be cowed by terrorism.
More than 80 medics were sent to the scene and the injured, some of them critical, are now being treated in five hospitals across the capital.
Metropolitan Police Assistant Commissioner Mark Rowley said it was currently believed there were only three attackers involved and the explosive vests they were wearing were “hoaxes”.
“We are treating this as a terrorist incident and a full investigation is already under way,” he added.
It is the third terror attack in the UK in three months following the car and knife attack in Westminster in March, which left five people dead, and the Manchester bombing less than two weeks ago, in which 22 people were killed.
BBC reporter Holly Jones, who was on the bridge at the time of the attack, said the van was “probably travelling at about 50 miles an hour”.
“He swerved right round me and then hit about five or six people. He hit about two people in front of me and then three behind,” Ms Jones told the BBC News Channel.
Another eyewitness, Robbie, was sitting in a taxi opposite the Barrowboy and Banker pub on London Bridge.
“I saw about 20 or 30 people rushing to get back into the pub and five seconds later a big white van came screeching down the pavement,” he told BBC Radio 5 live.
“Two or three people jumped out. Initially, I thought it was a road traffic incident and the people had jumped out to see if anyone was injured, but I could tell immediately, they looked very aggressive.”