CINCINNATI -- First baseman Michael Morse and left fielder Juan Perez homered to back a strong outing by San Francisco starter Ryan Vogelsong, lifting the Giants to a 3-2 victory over the Cincinnati Reds on Wednesday night at Great American Ball Park.

Third baseman Todd Frazier homered for Cincinnati (27-30), which saw a four-game winning streak end.

The Giants (38-21) committed three more errors on Wednesday, totaling seven in the past two games, but were able to overcome the miscues.

Sergio Romo notched his 18th save.

Vogelsong (4-2) was facing the Reds for the first time since Game 3 of the 2012 National League Division Series. He allowed two earned runs and seven hits with one walk and a career-high nine strikeouts in 6 1/3 innings.

Reds left-hander Tony Cingrani (2-6) was looking to solidify his spot in the starting rotation with Mat Latos close to returning from the disabled list. He retired 12 of 14 batters before the game unraveled for him with two outs in the sixth inning.

In fact, it took just six pitches from Cingrani for San Francisco to erase a 2-0 deficit.

Morse launched Cingrani's first pitch 418 feet to left center for his 12th home run of the season. After second baseman Brandon Hicks' single, Perez, who was recalled from Triple-A Fresno on Saturday, clubbed a two-run homer on the first pitch, putting the Giants ahead 3-2.

Cingrani finished with three runs allowed and six hits with two walks and seven strikeouts in 5 2/3 innings.

Reds center fielder Billy Hamilton wreaked havoc on the base paths again, reaching on infield hits in his first two at-bats and advancing on throwing errors on both occasions. In the third, Giants catcher Buster Posey threw him out attempting to steal third.

But it was the middle of Cincinnati's batting order that did damage early on.

Frazier's home run caromed off the left-field foul pole putting the Reds ahead 1-0 in the third.

Later in the inning, consecutive doubles by second baseman Brandon Phillips and right fielder Jay Bruce made the score 2-0.

Cingrani, who was 1-0 with a 2.92 ERA in two starts against San Francisco, allowed just three hits through five innings while striking out six.

NOTES: According to Giants manager Bruce Bochy, RHP Matt Cain, who has been on the disabled list since May 31, retroactive to May 22, with a right hamstring strain, is expected to be reinstated and start Friday's series opener against the New York Mets at Citi Field. It is Cain's second stint on the DL. ... Giants RHP Santiago Casilla, on the DL with a right hamstring strain, has been throwing and remains on track in his rehab. "He's doing quite well, ahead of schedule, to be honest," Bochy said. Casilla is eligible to be reinstated on Friday but likely will have a minor-league rehab stint first. ... Reds RHP Mat Latos made his third rehab start for Triple-A Louisville on Wednesday night, allowing two earned runs, six hits and two walks with one strikeout in five innings. He threw 67 pitches (44 strikes) before leaving as a precaution because of a cramp in his calf. Latos began the season on the DL after offseason right elbow and left knee surgeries.