The Pirates trailed 4-0 heading into the seventh, but two big drives changed things.
Pinch hitter Travis Snider cut the deficit in half with a two-run homer off Brian Schlitter. Alvarez put Pittsburgh ahead with his three-run drive against James Russell (0-1), his third homer in two games.
Chicago threatened in the bottom of the ninth before Grilli retired Bonifacio on a grounder to first. The Pirates took two of three at Wrigley Field.
That gave the Pirates their third series win — the most for them to start the season since the 1992 team took its first six.
Gerrit Cole (2-0) struck out 10 in six innings. He also allowed four runs, three of them earned.
Tony Watson worked a perfect seventh. Mark Melancon retired the side in the eighth before things got tense against Grilli in the ninth.
NATIONALS 7, MARLINS 1
WASHINGTON (AP) — Stephen Strasburg struck out 12 in 6 2-3 innings on a day Washington really needed to rest its relievers, and Jayson Werth and Ian Desmond homered, leading the Nationals past Miami for a three-game sweep.
Strasburg (1-1) got 14 consecutive outs in one stretch and allowed only three hits, including Marcell Ozuna's homer in the seventh. The right-hander's lone walk was to the last batter he faced.
Washington's starter Wednesday, Jordan Zimmermann, left after a career-low 1 2-3 innings, leaving the bullpen "taxed," as manager Matt Williams put it. The Nationals won that game 10-7 on Werth's go-ahead grand slam in the eighth, and this time he connected in the third — a two-run shot off Tom Koehler (1-1) that put Washington ahead 2-0.
BREWERS 6, PHILLIES 2
PHILADELPHIA (AP) — Carlos Gomez had three hits with an RBI and Milwaukee extended its winning to six games with a victory over Philadelphia.
The Brewers' wins have all come on the road during the streak. They came to Philadelphia following a three-game sweep at defending World Series champion Boston.
They battered the Phillies with 25 runs and 38 hits in the three-game sweep. Milwaukee has batted .320 and has outscored opponents 42-18 during the streak.
Ryan Braun had two hits and an RBI, ending the series 6 for 12 with 10 RBIs while increasing his lifetime total to 24 RBIs in 21 games at Citizens Bank Park. Braun opened the series by homering three times in Tuesday's 10-4 win.
Khris Davis had two hits and two RBIs for the Brewers, who return home to host Pittsburgh on Friday night. Milwaukee's 6-0 road start is its best since starting the 1987 season 7-0.
Marco Estrada (1-0) allowed two runs and five hits in six innings, striking out six and walking two, to earn the victory.
Marlon Byrd homered and had two RBIs for the Phillies, who lost their fourth straight.
METS 6, BRAVES 4
ATLANTA (AP) — Eric Young Jr. got three hits, stole three bases and scored four times and New York overcame Justin Upton's two home runs to beat Atlanta.
The Mets broke a 4-all tie in the seventh. Luis Avilan (1-1) gave up a leadoff single to Daniel Murphy, who scored on a two-out single by Juan Lagares off Gus Schlosser. Murphy drove in three runs with three hits.
Carlos Torres (2-0) allowed only one hit in two scoreless innings. Jose Valverde pitched a perfect ninth for his second save.
Led by Young, the Mets stole five bases. Young also used his speed to lead off a two-run third inning with a bunt single.
DIAMONDBACKS 6, GIANTS 5, 10 INNINGS
SAN FRANCISCO (AP) - Tony Campana hit an RBI single with two outs in the 10th inning to lead Arizona to its first back-to-back wins of the season with a victory over San Francisco.
Cliff Pennington had two RBIs and scored the winning run for the Diamondbacks, who won the final two games of the series. Miguel Montero also drove in two runs for Arizona.
Michael Morse hit a two-run double that gave the Giants the lead, but an error by third baseman Pablo Sandoval allowed the tying run to score in the eighth and San Francisco fell in extra innings to lose their first home series since last August against Boston.
Pennington hit a one-out single off Yusmeiro Petit (0-1) in the 10th and then stole second base on a 2-2 pitch to Campana with two outs. Campana then blooped a single just over the outstretched glove of second baseman Brandon Hicks to score the go-ahead run.
J.J. Putz (1-0) pitched a scoreless ninth for the win and Addison Reed got three outs for his third save in as many chances.