Pinch-hitter Pablo Sandoval hit a tying two-run single in the fourth inning, Andrew McCutchen drove in the go-ahead run with a grounder and five relievers combined for five scoreless inning for San Francisco.
Crawford doubled, singled three times and scored twice. He is batting .454 (25 for 55) in May and has raised his overall average from .189 to .290.
The Giants opened the fourth with four consecutive hits off Reds starter Tyler Mahle (3-5), including Belt's leadoff home run into McCovey Cove.
After Kelby Tomlinson struck out with the bases loaded, Sandoval pinch-hit for San Francisco starter Ty Blach and singled in two runs to tie the score at 3-all. Gregor Blanco followed with a single and McCutchen hit into a force play at second, driving in Austin Jackson from third.
The Giants' bullpen did the rest.
Eugenio Suarez homered and doubled with two RBIs while Scooter Gennett added two hits for Cincinnati, which has lost two straight after a season-high six-game winning streak.
The Reds got the tying run to second with one out in both the seventh and eighth but couldn't score.
Suarez homered on a 2-0 pitch from Blach after Jesse Winker reached on a two-out error by Giants second baseman Tomlinson.
Blach allowed three runs (one earned) and five hits over four innings.
Reds: 1B Joey Votto was held out of the starting lineup after leaving Monday's game with back tightness. Votto struck out as a pinch-hitter to end the game.
Giants: LHP Madison Bumgarner will need to make at least three rehab starts in the minors before rejoining the big league club, manager Bruce Bochy said. Bumgarner is slated to begin a rehab assignment on May 26, which puts him on pace to return in mid-June. . OF Mac Williamson continues to go through concussion protocol and could begin a rehab assignment this weekend. . Closer Mark Melancon (right elbow flexor strain) is progressing is potentially headed for a rehab assignment Sunday or Monday.
RHP Matt Harvey (0-2, 6.10 ERA) starts in the series finale Wednesday, his second after being acquired by the Reds in a trade from the Mets. Harvey pitched four scoreless innings in his Cincinnati debut. LHP Andrew Suarez (1-2, 4.57) goes for the Giants.