At least two rockets have slammed into the Sheraton Hotel in central Baghdad, damaging the building and causing a fire nearby, witnesses said.
There were no immediate reports of casualties.
Iraqi police sealed off access to the heavily fortified complex which houses both the Sheraton and the adjacent Palestine hotel, both of which are home to scores of foreign contractors and journalists.
Immediately after the attack, US and Iraqi forces opened fire in the direction from where the rockets were believed to have been launched, lighting up the sky with tracer bullets.
A palm tree at the front entrance to the Sheraton was on fire. A resident of the hotel said one rocket had hit a first-floor room and a second exploded moments later.
Panicked residents fled from the building, where the lobby was littered with shattered glass and bits of rubble. A source at Iraq's Interior Ministry said three Russian-made Katyusha rockets were used in the attack.
While the hotels are heavily protected by US forces and ringed by high concrete blast walls, both have been repeatedly attacked by insurgents firing rockets and mortar bombs over the past year.
About 20 minutes after the rockets hit, a third blast sounded in the area. Initial reports carried on CNN suggested it may have been a controlled explosion.
The Sheraton and Palestine stand across the Tigris river from the heavily defended Green Zone, a complex housing the interim Iraqi government and US and British embassies.
Sirens wailed in the Green Zone shortly after the blasts.