The storm has killed one person in the French territory of Guadeloupe.
Hurricane Fiona made landfall along the extreme southwestern coast of Puerto Rico near Punta Tocon at 3:20 p.m. ET with winds of 85 mph, according to the National Hurricane Center.
The newly formed hurricane cause an island-wide power blackout and threatening to dump "historic" levels of rain, ABC News reported.
Forecasters said the downpour was expected to produce landslides and catastrophic flooding, with up to 25 inches (64 centimeters) possible in isolated areas.
"It's time to take action and be concerned," said Nino Correa, Puerto Rico's emergency management commissioner.
Fiona was centered 25 miles (40 kilometers) southwest of Ponce, Puerto Rico, on Sunday morning, and its clouds covered the entire island. It had maximum sustained winds of 85 mph (140 kph) and was moving west-northwest at 8 mph (13 kph).
Tropical storm-force winds extended as far as 140 miles (220 kilometers) from Fiona's center.
U.S. President Joe Biden declared a state of emergency in the U.S. territory as the eye of the storm approached the island's southwest corner.
Puerto Rico's largest public hospital was running on generators and at some centers, those had failed. Health Secretary Carlos Mellado said crews were working to repair generators as soon as possible at the Comprehensive Cancer Center.
Fiona hit just two days before the anniversary of Hurricane Maria, a devastating Category 4 storm that struck on Sept. 20, 2017, destroying the island's power grid and causing nearly 3,000 deaths.
More than 3,000 homes still have only a blue tarp as a roof, and infrastructure remains weak.
Luma, the company that operates power transmission and distribution, had warned of "widespread service interruptions" and on Sunday the governor announced that all power service had been knocked out.
"I think all of us Puerto Ricans who lived through Maria have that post-traumatic stress of, 'What is going to happen, how long is it going to last and what needs might we face?'" said Danny Hernández, who works in the capital of San Juan but planned to weather the storm with his parents and family in the western town of Mayaguez.
He said the atmosphere was gloomy at the supermarket as he and others stocked up before the storm hit.
"After Maria, we all experienced scarcity to some extent," he said.
The storm was forecast to pummel cities and towns along Puerto Rico's southern coast that have not yet fully recovered from a string of strong earthquakes starting in late 2019.
Officials reported several road closures across the island as trees and small landslides blocked access.
More than 640 people with some 70 pets had sought shelter across the island by Saturday night, the majority of them in the southern coast.
Puerto Rico's power grid was razed by Hurricane Maria and remains frail, with reconstruction starting only recently. Outages are a daily occurrence.
In the southwest town of El Combate, hotel co-owner Tomás Rivera said he was prepared but worried about the "enormous" amount of rain he expected. He noted that a nearby wildlife refuge was eerily quiet.
"There are thousands of birds here, and they are nowhere to be seen," he said. "Even the birds have realized what is coming, and they're preparing."
Rivera said his employees brought bedridden family members to the hotel, where he has stocked up on diesel, gasoline, food, water and ice, given how slowly the government responded after Hurricane Maria.
"What we've done is prepared ourselves to depend as little as possible on the central government," he said.
It's a sentiment shared by 70-year-old Ana Córdova, who arrived Saturday at a shelter in the north coastal town of Loiza after buying loads of food and water.
"I don't trust them," she said, referring to the government. "I lost trust after what happened after Hurricane Maria."
Puerto Rico's governor, Pedro Pierluisi, activated the National Guard as the Atlantic hurricane season's sixth named storm approached.
"What worries me most is the rain," said forecaster Ernesto Morales with the National Weather Service in San Juan.
Fiona was predicted to drop 12 to 16 inches (30 to 41 centimeters) of rain over eastern and southern Puerto Rico, with as much as 25 inches (64 centimeters) in isolated spots. Morales noted that Hurricane Maria in 2017 had unleashed 40 inches (102 centimeters).
The National Weather Service warned late Saturday that the Blanco River in the southeast coastal town of Naguabo had already surpassed its banks and urged people living nearby to move immediately.
Pierluisi announced Sunday that public schools and government agencies would remain closed on Monday.
Fiona was forecast to swipe the Dominican Republic on Monday and then northern Haiti and the Turks and Caicos Islands with the threat of heavy rain. It could threaten the far southern end of the Bahamas on Tuesday.
A hurricane warning was posted for the Dominican Republic's eastern coast from Cabo Caucedo to Cabo Frances Viejo.
Fiona previously battered the eastern Caribbean, killing one man in the French territory of Guadeloupe when floods washed his home away, officials said. The storm also damaged roads, uprooted trees and destroyed at least one bridge.
St. Kitts and Nevis also reported flooding and downed trees, but announced its international airport would reopen on Sunday afternoon. Dozens of customers were still without power or water, according to the Caribbean Disaster Emergency Management Agency.
In the eastern Pacific, Tropical Storm Madeline was forecast to cause heavy rains and flooding across parts of southwestern Mexico. The storm was centered about 155 miles (245 kilometers) south-southwest of Cabo Corrientes Sunday morning, with maximum sustained winds of 45 mph (75 kph).
CNNW contributed to this post.