Lohse was pulled after he allowed singles to three of the first four batters in the seventh. Heisey was erased when Mesoraco grounded into a double play, but pinch hitter Cesar Izturis and Shin-Soo Choo singled to put runners on the corners.
John Axford came in and surrendered Paul's run-scoring hit to make it 4-3, but he bounced back to strike out Votto, limiting the damage.
"We don't win them easy," Brewers manager Ron Roenicke said.
Lohse was charged with three runs and nine hits. The righty improved to 4-0 with a 2.37 ERA in his past eight starts.
Jim Henderson worked the eighth and Francisco Rodriguez finished for his ninth save in nine chances and No. 303 for his career, tying Doug Jones for 22nd on the major league list.
Rodriguez had his left arm over his head and his right hand on the brim of his cap as he walked around in disbelief after Gomez's game-ending grab.
"He's so athletic and explosive," Lohse said of Gomez. "You just see him get good reads. It's pretty fun to watch."
Milwaukee got Ryan Braun back from the disabled list, but he did not play in the Brewers' second win in seven games against Cincinnati this season. Braun, who had been out with a bruised right thumb, took batting practice for the second straight day and could return to the lineup on Tuesday.
While the 2011 NL MVP returned to the active roster, third baseman Aramis Ramirez went back on the DL again with a nagging left knee injury.
Mesoraco got the start behind the plate for Cincy after Baker said Ryan Hanigan was dealing with soreness, declining to elaborate. But Mesoraco has a back issue and appeared to be playing hurt, grounding out with runners on first and second to end the eighth.
"He's a tough guy," Baker said. "I don't know what we're going to do tomorrow. I don't know if he's going to be all right or not."
NOTES: Johnny Vander Meer remains the only pitcher to throw consecutive no-hitters, accomplishing the feat for the Reds on June 11 and June 15 in 1938. ... Brewers RHP Wily Peralta (5-9, 5.27 ERA) is scheduled to face LHP Tony Cingrani (3-0, 3.40 ERA) in the middle game of the series on Tuesday. Peralta was forced to leave his last outing in the sixth inning last Tuesday night at Washington due to a strained left hamstring. "If he feels something, then, obviously, we'll address that," Roenicke said. ... The Miller Park roof was open at the start of the game, but it was closed during the second inning. It was opened again in the fourth. ... NASCAR driver Matt Kenseth, a Wisconsin native, threw out the ceremonial first pitch.