The win was the first in four matches for FAS, which already had been eliminated, and left Olimpia with four points, three behind Group 3 leader Houston.
Houston will meet October 23 in Houston, where the Dynamo is unbeaten its last 22 competitive matches, including 15 since it opened BBVA Compass Stadium on May 12.
Javier Portillo gave Olimpia the lead in the 65th minute, but Alejandro Bentos equalized with 12 minutes, to go and -- after Olimpia keeper Donis Escober blocked a penalty -- Moscoso scored the winner in the 89th.
All the goals came on a sodden field that made control difficult and passing nearly impossible.
The game began about 15 minutes late due to a power failure that temporarily knocked out the lights at Estadio Cuscatlan and then started under a drenching rain that only lightened after about 30 minutes.
Areas of standing water formed in several places on the field after 15-20 minutes, and balls frequently splashed to a stop making sustained possession extremely difficult.
Both sides managed only one shot on goal through the first half, and although the intensity of the rain lessened in the second half, chances were not much more frequent.
However, Carlos Will Mejia found space down the right side, sent a cross into the area that bounced and was slightly deflected by Douglas Caetano before continuing across the box. Portillo sprinted in unmarked on the left side and volleyed a low ball past FAS keeper Luis Contreras.
Bentos tied the match, getting on the end of Edwin Sanchez's high looping cross to the back post at the edge of the six, and bounching a header inside the right post past Escober.
FAS had its first chance to go ahead when Johnny Palacios was called for tripping Gerson Mayen as he worked into the area from the left, but Escober dived to his right to punch away Jorge Moran's penalty in the 87th.
Two minutes later, with FAS lining up for a free kick, Moscoso sprinted around the left side of the wall and ran onto a short ball, sending a left-footed shot high over Escober.
The victory ended a nine-match winless streak in the Champions League for FAS, which had scored only three goals during the skid. The loss ended a 10-game unbeaten streak for Olimpia, which leads the Honduran Apertura by three poins.