The disappointing Phillies dropped their second in a row and fell a dozen games below .500.
It was a 1-1 contest heading into the sixth, but the Giants loaded the bases with nobody out and Pablo Sandoval drove in the first run of the inning with a sacrifice fly. Nate Schierholtz then drew a walk to again fill the bases and Crawford followed with his third home run of the season off starter Vance Worley (5-6).
Crawford also had an RBI single in the eighth.
Tim Lincecum benefited from Crawford's blast to get his first victory of the month. Lincecum (4-10) allowed two runs on five hits in seven innings.