The hurricane is now around 24km (15 miles) southeast of San Juan, Puerto Rico's capital.
Earlier it ploughed through St Croix in the US Virgin Islands, home to around 55,000 people.
Dominica was badly hit on Monday night and aerial footage shows flattened houses. Details are scant as communication links are down.
Shortly before making landfall in Puerto Rico, the storm was downgraded from category five to category four by the NHC.
Maria was similarly downgraded on Tuesday only to be upgraded again to category five.
The governor of Puerto Rico has told the island's 3.5 million people to seek shelter.
"The wind sounds like a woman screaming at the top of her lungs!" photographer and storm chaser Mike Theiss posted on Twitter.
Maria is the second storm of this strength to hit the Caribbean this hurricane season - the first being category five Irma earlier in September. Maria began moving roughly along the same track as Irma.
Officials in Puerto Rico fear the debris left by Irma could now prove extremely dangerous in the high winds.
There are also concerns that heavy rain could cause landslides in some places, and that a predicted storm surge of up to 9ft (2.7m) could swamp low-lying areas.
More about: #HurricaneMaria