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.