The tropical storm made landfall on the Yucatán Peninsula near Cancún early on July 21, leaving at least 17 people dead in Guatemala, and one person in the Yucatán. It moved into the Gulf of Mexico and strengthened to become a Category 2 hurricane, tracking westward and making landfall as a weak Category 2 storm on July 23 in South Padre Island, Texas, with 100 mph (160 km/h) winds. This made Dolly the most intense system to make landfall in the United States since Hurricane Wilma in 2005. The storm caused 212,000 customers to lose power in Texas as well as 125,000 in Tamaulipas, and dropped estimated amounts of over 16 inches (410 mm) of rain in isolated areas . Rip currents throughout the entire Gulf Coast resulted in one person drowning off the Florida Panhandle. The storm caused no deaths in Texas, though three were injured, and it caused an estimated $1.2 billion dollars in damage; The remnants of the storm caused two deaths in New Mexico.
At this point, Dolly was located 270 mi (435 km) east of Chetumal, and 230 mi (365 km) southeast of Cozumel; the tropical storm was expected to make landfall later that day. At the time of Dolly's approach to Quintana Roo, 100,000 tourists were in the state, and 45,000 of them in Cancún. Originally, the storm was forecast by the Servicio Meteorológico Nacional (Mexico's national weather service) to make landfall between Playa del Carmen and Tulum. However, as the storm approached the Quintana Roo coastline, it lost its organization and its surface circulation center disappeared. When the storm was just offshore, it began reorganizing, and a new circulation center formed in the heavy convection on the northern sector of the storm. In essence, this caused the storm to briefly move parallel to the coastline, shifting the point of Dolly's first landfall to north of Cancún. The northward shift also caused the bulk of the storm to stay over water, reducing its impact on the Yucatán Peninsula.
After moving into the Gulf of Mexico, weather conditions became favorable for additional intensification, with low wind shear and warm sea surface temperatures. Dolly strengthened steadily beginning on July 21, and by the afternoon of July 22, it strengthened into a Category 1 hurricane on the Saffir-Simpson Hurricane Scale. At this point, the storm was located about 165 mi (265 km) east-southeast of Brownsville, Texas. Steady strengthening continued that evening and into the morning of July 23, at which point Dolly reached Category 2 intensity while just east of the Rio Grande Valley at 10:00 am that morning with winds of up to 100 mph (160 km/h) and a minimum central pressure of 964 mbar. At 1:00 pm CDT (1800 UTC) that same day, Dolly made landfall on South Padre Island, Texas, at peak strength as a Category 2 hurricane with 100 mph (160 km/h) winds. Hurricane Dolly then moved west-northwestward over the Laguna Madre crossing onto the mainland near the Cameron-Willacy County line. South Padre Island, Port Isabel, Laguna Vista, Bayview, Brownsville, San Benito, Rio Hondo, Arroyo City and especially Harlingen suffered heavy wind and flooding. Hurricane Dolly then thrashed the Delta Region along and north of Highway 107 with its most fierce winds and rain. Towns like Santa Rosa, La Villa, Edcouch, Elsa, Monte Alto and San Carlos were hit hard by the slow-moving, wet hurricane which dumped 10-20 inch rains. According to Mid Valley Town-Crier newspaper, the Weslaco Airport clocked gusts of 68 knots (78 mph). Dolly weakened to a tropical storm after passing US 281 (west of San Manuel and Linn, Texas) late on the 23rd, and then a tropical depression, as it moved slowly inland into Mexico. The circulation weakened into a remnant low over northern Mexico on the afternoon of July 25, then crossed back into the United States, passing through the Ciudad Juárez, Chihuahua/El Paso, Texas metropolitan area on the morning of July 26 and then north across New Mexico. The remnant low of Dolly finally began to dissipate late in the evening of July 27 approximately west-northwest of Dalhart, Texas.
On July 20, the Mexican government issued a tropical storm warning for the Yucatán Peninsula from Campeche to the international border with Belize. A few hours later, Belize's government issued a tropical storm watch from Belize City to the Mexican border.
That same morning, the Quintana Roo Civil Protection authorities in Chetumal declared a "blue alert" for the entire state due to the storm's proximity. This alert was upgraded to an "orange alert" that afternoon, and to a "red alert" that evening. On Cozumel, the ferry service connecting the island to the mainland was suspended, and local government oulawed sales of alcohol and asked residents to stay in their homes after 6:00 pm local time. The state government also ordered the evacuation of 1,000 people from the islands of Banco Chinchorro and Punta Allen, and evacuations were also ordered in Tulum. Later, evacuation orders were also made for Holbox Island, causing the total number of evacuees to reach 2,000. In the Solidaridad municipality, 238 people were put in shelters to weather out the storm. Elsewhere, five shelters were made available to the population, but only one family of three used them. The Yucatán state government issued a blue alert, followed by an orange alert when the storm approached the state.
In the Gulf of Mexico, Royal Dutch Shell evacuated 125 personnel from its oil rigs on July 20, and evacuated another 60 on July 21. Diamond Offshore Drilling removed non-essential employees from some of its rigs, and the Rowan Companies also evacuated one of their eight oil rigs in the Gulf. Also on July 21, Chevron announced that it was evacuating some of its workers from its oil rigs in the Gulf, but did not disclose how many were removed. On July 22, BP announced the evacuation of non-essential personnel from two of its rigs, and on July 23, Petróleos Mexicanos evacuated 66 people from one of its rigs. In spite of this, oil production was not expected to be affected by Dolly.
In Texas, Governor Rick Perry activated 1,200 members of the Texas Military Forces, among other emergency personnel. Perry also ordered 250 buses to be placed in San Antonio, so they could be used if evacuations became necessary. Perry declared 14 counties of the state as disaster areas on July 22. The Texas Department of Transportation put construction contractors in the Rio Grande Valley on notice of a possible storm. Cameron County emergency officials urged residents living along the Rio Grande to evacuate, for fear of the levees alongside the river bursting. Port of Brownsville officials also decided to close the port at midnight Wednesday, July 23, through midnight Friday, July 25. The United States Navy removed 104 airplanes from Truax Field and flew them to bases further inland, and Immigration and Customs Enforcement evacuated its detention facility in Port Isabel.
On July 21, the state of Veracruz put 166 municipalities in preventive alert, and expected that the storm would exacerbate existing flooding. In Tamaulipas, state authorities put the municipalities of Soto la Marina, San Fernando, Matamoros, Valle Hermoso, Río Bravo and Reynosa on alert and prepared shelters. Later, on July 22, 23,000 people were planned to be evacuated from Matamoros, Soto la Marina and San Fernando; however, of those, only about 13,000 followed the evacuation order, and were placed in 21 shelters. 15 shelters—with a capacity to hold 4,500 people—were activated in Reynosa. On the night of July 22, the federal government, through the Secretaría de Gobernación (SEGOB), declared a state of emergency in 17 municipalities, making them eligible to receive federal assistance funding. SEGOB also ordered 600 Army troops and 350 Marines deployed to Tamaulipas, a number that later grew to 4,800 military and police. Further inland, on July 21, the Nuevo León state government began to prepare 300 shelters throughout the state, and the Coahuila state government announced a state of alert the next day. On July 23, Coahuila authorities emitted an orange alert due to the risk of flooding from Dolly's remnants, and activated 2,000 military and police to the state.
The Governor of Texas, Rick Perry, declared 14 counties in South Texas a disaster area. Initial insured property damage estimates are near $600 million (2008 USD) with total property damage estimates (based on a 2–1 ratio of total damage to insured damage) near $1.2 billion (2008 USD) in the state (with a large proportion of the losses being agricultural), and the Rio Grande cotton crop was expected to be a complete loss. After weakening to a tropical storm, Dolly spun off another tornado near Poth early on July 24 with minor damage. Near noon on July 24, an EF0 tornado touched down in the southern edge of downtown San Antonio near the Interstate 10–Interstate 37 interchange. Significant damage was reported in the area, with several commercial buildings losing their roofs and numerous houses damaged. Damage was also reported at the Windcrest Tower. About 1,500 customers lost power as a result. Flash flooding from the remnant low of Dolly occurred in El Paso, Texas on July 26: one person was killed in an adjacent portion of New Mexico from a weather-related traffic accident. Additional flash flooding and river flooding on the Rio Ruidoso in the Sacramento Mountains of New Mexico occurred on the morning of July 27, after more than of rainfall from Dolly's remnants: hundreds of tourists, campers and residents were evacuated and the storm caused damage at the Ruidoso Downs racetrack. One person was killed in the Rio Ruidoso flooding, approximately 900 persons required rescue, approximately 500 structures were damaged, and initial damage estimates for Ruidoso, New Mexico were in the range of $15–20 million.
Distant effects included high waves and rip currents throughout the Gulf of Mexico. One person was killed and at least nine others had to be rescued from Panama City Beach, Florida, as a result of rip currents caused by Dolly. The remnants of Dolly also impacted the south and middle of the midwest including the Chicago metropolitan area and Illinois, Indiana, Tennesse, and some parts of southern Missouri causing severe weather reports and some damage of property.