After the teams played to a 1-1 tie through nine innings, the Giants appeared to be headed for a victory when they scored twice in the 10th.
Atlanta's Brian McCann then hit a two-run homer in the bottom half of the inning to again tie it, but the Braves did not have a big enough answer for San Francisco's six-run 11th.
The Giants scored those six runs on just two hits while winning their fifth straight.
Eli Whiteside was hit by a pitch leading off the 11th and Brandon Belt drew a walk before Crawford hit his homer.
Justin Christian then reached on a throwing error by Chipper Jones at third base and Melky Cabrera drew a walk prior to Blanco's smash to right.
Anthony Varvaro (1-1) gave up the first two base runners in the San Francisco 11th and took the loss.
Santiago Casilla (3-4) became the winning pitcher despite giving up Atlanta's two runs in the 10th.