Barney finished 3-for-4 with a career-high four RBI while Starlin Castro added a two-run home run and an RBI double for Chicago, which pounded out 14 hits in the opener of a three-game series.
Justin Germano (1-1), making his first major league start since 2010, held the Pirates to two runs on four hits in a five-inning effort, walking two and striking out three.
Bucs starter Erik Bedard (5-12) was rocked for nine runs (eight earned) on seven hits in 4 1/3 frames.
Starling Marte went 3-for-4 with an RBI and Michael McKenry knocked in a pair for the second-place Bucs, who remained three games behind National League Central-leading Cincinnati.
McPhee, Cokas 'working on their marriage' after affair
LGBT community has 'bullied the American people': Bachmann