Trailing 3-0 in the sixth, the Bucs erupted for five runs off Chicago's bullpen to pull out a victory.
Pittsburgh loaded the bases with one out against Hector Rondon, and Jeff Russell (1-1) relieved only to issue a run-scoring walk to Pedro Alvarez.
Wandy Rodriguez (5-2) notched his third win in three starts, holding the Cubs to three runs on six hits over six innings. He didn't issue a walk and fanned five.
Jason Grilli recorded his 18th save despite allowing a run in the ninth, striking out Anthony Rizzo with a runner on third to end the contest as the Bucs took the opener of a three-game series.
Chicago's Matt Garza, making his first start of the season after coming off the disabled list, took a no-hitter into the fifth. The right-hander ended up allowing one hits over five full frames, walking three and striking out five.
Darwin Barney went 4-for-4 with an RBI and two runs scored for the Cubs.
Benedict Cumberbatch's dramatic reading of R. Kelly lyrics is just what you need
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'