Bailey (5-6) took a perfect game into the seventh inning, when he issued a lead-off walk to Gregor Blanco. But he set down the next nine batters to complete his second no-hitter in two seasons.
The right-hander also no-hit the Pittsburgh Pirates Sept. 28, 2012, joining Johnny Vander Meer and Jim Maloney as the only pitchers in Cincinnati history to toss two no-hitters.
In the ninth, Bailey got Brandon Crawford on a come-backer to the mound, struck out pinch-hitter Tony Abreu and induced Blanco to ground out to third, ending the contest.
Bailey fanned nine in the 109-pitch gem.
Brandon Phillips clouted a two-run homer to lead the offense for Cincinnati, which took a second straight against the Giants to begin a four-game series.
San Francisco's Tim Lincecum (4-9) absorbed the loss, surrendering three runs on six hits 5 1/3 as the reeling Giants lost for the eighth time in nine games.