MESA, Ariz. -- Alfonso Soriano hit his third homer and added a RBI single to back Matt Garza and lift the Cubs to an 8-7 victory Thursday over the White Sox and take the Cactus League series between the intracity rivals in front of 13,282 at HoHoKam Park.

Garza, who will be No. 3 in the Cubs rotation, gave up three runs, eight hits, and two walks over five innings in his longest spring start.

Kosuke Fukudome walked to lead off the Cubs' first and reached third on Starlin Castro's double. Marlon Byrd hit a sacrifice fly and Castro scored on Aramis Ramirez's double.

Darwin Barney, who found out before the game that he had made the 25-man Opening Day roster for the first time, singled to lead off the second and scored two batters later on Fukudome's sacrifice fly. Barney added a two-run triple in the fifth.

The White Sox stranded a runner at third in the second and third innings, but A.J. Pierzynski delivered an RBI single with two outs in the fourth to make it 3-1.

Soriano connected leading off the Cubs' fourth, launching a 3-2 pitch from starter Philip Humber over the right-center-field wall.

Omar Vizquel made it 4-3 with his second spring homer with one on and one out in the White Sox fifth.

Castro walked with one out in the fifth, advanced on a wild pitch, and scored on Byrd's single to right. Humber departed, and Will Ohman entered to strike out Carlos Pena. Soriano then delivered an RBI single and Barney followed with his triple to go ahead, 8-3.

White Sox catcher Donny Lucy and shortstop Alexei Ramirez homered on back-to-back pitches from Cubs reliever James Russell in the eighth to cut the deficit to 8-6.

Lucy completed the scoring with a two-out RBI double off Carlos Marmol in the ninth.

The Cubs won the first meeting in Glendale, 4-3. The two teams will meet again June 20-22 at U.S. Cellular Field in the first round of a home and road intracity Interleague series, and then square off in Wrigley Field, July 1-3.

White Sox up next: It's the final Cactus League night game for the White Sox, as Ozzie Guillen's crew plays host to a split-squad Arizona team at Camelback Ranch. The game begins at 9:05 p.m. CT and is available via a free exclusive video webcast and also on Gameday Audio. The White Sox have played just two night games during Spring Training, both away from Camelback Ranch, and both ended up being winners. Gavin Floyd makes his final Arizona start in preparation for the regular season, with the team breaking camp following Tuesday's game in Surprise.

Cubs up next: Randy Wells, who appears to have locked up the fourth spot in the rotation, will start on Friday when the Cubs play host to the Mariners at HoHoKam Park. In the right-hander's last outing, Wells struck out seven over six innings, retiring 18 in a row. The game will be broadcast on MLB.TV beginning at 3:05 p.m. CT.