Turkish television pictures of the blasts early on Tuesday showed emergency services carrying casualties, mostly foreigners, to waiting ambulances. Glass and debris lay scattered on the street.
Separately, two bombs exploded at a gas storage complex in an outlying area of the city, causing damage but no casualties, Anatolian news agency quoted a company official as saying.
Istanbul police chief Celalettin Cerrah said the hotel blasts occurred at about 2am (2300 GMT). Anatolian said two people were killed and seven were injured, adding that the injuries were not life-threatening.
"These [blasts] appear to be a terrorist attack," Cerrah said at the scene of one of the explosions.
CNN Turk television identified one of the dead as 31-year-old Haydar Baydar from Van in eastern Turkey. The wounded comprised two Dutch citizens, two Chinese, a Ukrainian, a Turk and a Turkmenistan national.
Istanbul has been hit by several
blasts in recent months
The two dead were killed in an explosion on the third floor of the Pars Hotel in Istanbul's Laleli district, an area popular with Eastern European traders.
Hotel staff said someone had telephoned 10 minutes before the blast to say there was a bomb in one of the rooms. There were 37 guests in the six-storey hotel at the time.
The other explosion happened on the second floor of the Holiday Hotel in the popular tourist district of Sultanahmet - the historical heart of Istanbul - where many of its Byzantine and Ottoman monuments are located.
Police sealed off the area around the hotel and forensic teams sifted through the debris for evidence. There were 20 people in that hotel at the time, but there were no details on casualties.
Police also searched several hotels in the area for suspects and other explosive devices.
The blasts at the gas storage complex followed a telephone tip-off about a bomb, and a company official said intruders had cut through a fence.
"These [blasts] appear to be a terrorist attack"
Istanbul police chief
"These people put two bombs in the storage area, which exploded at a 30-minute interval. There was a gas leak, but we stopped that and there is currently no danger," company official Tayfun Demiroren said.
Four people were working in the complex at the time, but were unhurt. CNN Turk said the bombs exploded shortly before 1am.
Istanbul, Turkey's largest city and commercial capital, has been hit by several bomb attacks in recent months.
More than 60 people were killed in four bomb attacks on British and Jewish targets in the city last November that were blamed on a group linked to al-Qaida.
In June, four people were killed and 15 wounded in an explosion on a bus, shortly before US President George Bush arrived in the city for a NATO summit.