"Historic and catastrophic flooding is unfolding along and just inland of the coast from west of Tallahassee, Florida, to Mobile Bay, Alabama," it said.
At 1:00 pm (1700 GMT), Sally had maximum sustained winds of 70 miles per hour, the NHC said, and storm surge warnings were in effect for parts of the coast along with tornado warnings.
Sally was crawling towards the north-northeast at five miles per hour, the NHC said.
It was expected to weaken as it moved further inland and become a tropical depression by Thursday morning.
More than 550,000 homes and businesses in Alabama, Florida and Mississippi have lost power, according to the tracking site poweroutage.us.
Some of the worst reported flooding was in the city of Pensacola, Florida, which has a population of around 52,000.
Downtown streets resembled lakes with cars submerged to the tops of their wheels and wind gusts whipping up whitecaps on the water.
"Flooded roadways and intersections, along with hazardous debris in roadways (locations) have become too numerous to list," the Pensacola police tweeted. "Please stay off roadways now."
A section of a new bridge, the Three Mile Bridge over Pensacola Bay, was missing, causing it to be shut down.
- 'Nobody was prepared for a Cat 2' -
David Triana, 57, a resident of Navarre, a town near Pensacola, said he and his neighbors did not board up their homes because they did not expect the trajectory of the storm to shift so much to the east or for it to be so strong.
"Nobody was prepared for a Cat 2," said Triana, whose home fortunately escaped without any damage. "The forecasts for the cone and the strength of the storm did not indicate that it would hit us so hard."
The NHC said Sally hit Gulf Shores, about 35 miles west of Pensacola, as a Category 2 storm with winds of about 105 miles (165 kilometers) per hour.
Alabama Governor Kay Ivey warned residents that it may take time to restore power and water services and clear debris-littered roadways.
"Hurricane Sally has been a slow-moving storm, which only adds to some natural delays in restoring power, water and other essential services," Ivey said.
Ivey declared a state of emergency in Alabama on Monday ahead of Sally's arrival.
Tate Reeves, the governor of neighboring Mississippi, had also declared an emergency ahead of the storm but it eventually made landfall further to the east.
The last time was in 2005, the year Hurricane Katrina devastated New Orleans.