Chapman (3-2) blew his second straight save opportunity after converting his first eight chances this season. The 100 mph throwing left-hander walked pinch-hitter Delmon Young on four pitches to open the ninth.
Phillies pitcher Cliff Lee pinch ran and was caught trying to steal second base, but Chapman wouldn't record another out. Kratz, who entered the game in the third inning after Carlos Ruiz left with a strained right hamstring, pulled a 3-2 pitch over the seats in left to tie it 1-all.
Galvis followed by lining a 1-1 pitch just inside the foul pole in left.
Antonio Bastardo (2-1) pitched a scoreless ninth inning for Philadelphia.
Jay Bruce homered and Homer Bailey tossed seven scoreless innings for the Reds.
Bruce led off the second with a towering shot to straightaway center to extend his hitting streak to 10 games. He is batting .390 (16 for 41) with four homers and 12 RBIs during the spurt.
Joey Votto also stayed hot by going 2 for 4 for the Reds, who had won seven of eight. Votto extended his hitting streak to eight games, and he is batting .515 (17 for 33) over the stretch.
Bailey shut down the Phillies for the second time this season and left without a victory for the second time. He allowed five hits with three strikeouts and a walk. He also got a no-decision on April 16 in a 1-0 loss to the Phillies when he pitched eight scoreless innings while allowing two hits with a career high-tying 10 strikeouts and no walks.
Chase Utley's RBI single in the eighth inning snapped the Phillies' 16 scoreless innings skid.
Ben Revere, returning to the starting lineup after sitting out the last four, had three hits for the Phillies. Revere raised his average from .237 to .256.
Jonathan Pettibone gave up two runs - one earned - on seven hits in seven innings and has yet to allow more than three earned runs in six career starts.
The Reds tacked on a run in the sixth on Todd Frazier's RBI double. The run was unearned, though, as Votto advanced to second on Domonic Brown's throwing error after leading off with a single.
Philadelphia got to 2-1 in the eighth on Utley's single that scored Revere, but Brown flew out to right with runners on first and second against reliever Sean Marshall to end the threat.
Ruiz left the game after straining his right hamstring running the bases in the second inning.
Regular Phillies third baseman Michael Young started at first base for the first time this season because manager Charlie Manuel rested slumping slugger Ryan Howard. Howard, who is batting .245 with 46 strikeouts in 151 at-bats this season, has four hits in his last 34 at-bats.
Young went 0-for-3 with a walk.