Widodo Adi Sucipto, Indonesia's security minister, confirmed that the two explosions were caused by "high explosive bombs", while police said initial investigations pointed to the blasts having been caused by suicide bombers.
A New Zealander was among those killed while 13 other foreigners were among at least 50 people injured, Sucipto told reporters at the scene of the blasts.
The first explosion went off at the Marriott at around 8am local time and the second hit the Ritz-Carlton about 1km away just a few minutes later.
Bambang Hendarso Danuri, the national police chief, said that the suspected suicide bombers had carried the explosives from a room on the 18th floor of the Marriott, which police described as the "control centre" of the attack.
"There was one unexploded bomb left which was dismantled," he said.
Nanan Soekarna, a police spokesman, said that the devices were packed with nails, ballbearings, nuts and bolts.
Earlier reports had said a third explosion had occurred on a toll motorway in the north of Jakarta, but local police said that incident was a vehicle fire and was not related to the hotel bombings.
Arief Wahyunadi, the police operational chief, said the two hotel bombs had detonated in the Ritz-Carlton's Air Langga restaurant and in the basement of the Marriott.
The blast had caused extensive damage to the lower levels of both hotels, with dozens of windows blown out on higher floors by the force of the explosion.
Witnesses at both hotels reported the buildings had shaken when the bombs hit, sending hundreds of panicked guests and staff running onto the street outside.
Police have evacuated people from the area surrounding the two hotels located in the heart of the capital's business district, Al Jazeera's Step Vaessen reported.
British football team Manchester United, who had been due to play an exhibition game in Jakarta at the weekend, have cancelled their visit to the city.
The team were expected to stay at the Ritz-Carlton on Saturday and Sunday night, the Indonesian Football association said.
No claim of responsibility
No one has claimed responsibility for Friday's blasts, which are the first attacks on high-profile targets in the country in several years.
The explosions come just a week after Susilo Bambang Yudhoyono was returned to power in presidential elections that passed off peacefully.
The attack on the Jakarta JW Marriott is the second bombing of the hotel. A suicide bombing in 2003 left 12 people dead and injured more than 150.
|No one has claimed responsibility for Friday's blasts [Reuters]
That bombing and several other prior attacks had been claimed by or blamed on the Jemaah Islamiyah (JI) group, and many suspected members have since been imprisoned.
An Australian security report released on Thursday warned, however, that Jemaah Islamiyah could be poised to strike again.
The report by the Australian Strategic Policy Institute said leadership tensions in the group and recent prison releases of several JI members raised the possibility that splinter groups might now seek to re-energise the movement through violent attacks.
Vaessen said she had contacted a JI member who denied the group was responsible for the attack.
While there are believed to be more than 1,000 active JI members in Indonesia, in recent years JI had become a highly fractured organisation, Vaessen said.
Carl Ungerer, one of the analysts who wrote the Australian Strategic Policy Institute's study, said various factions of JI vary widely in their outlook and tactics.
"There is a split between traditionalists, who want to consolidate current efforts, and other more hardline factions - who believe a campaign of political violence is both necessary and required," he told Al Jazeera.
In the wake of Friday's bombings Australia's government issued a fresh travel warning for Indonesia, telling citizens to "reconsider your need to travel to Indonesia, including Bali, at this time due to the very high threat of terrorist attack".