Derrek Lee, in the Cubs lineup after appealing his five-game suspension, was 2-for-5 with an RBI double in the sixth inning off Joaquin Benoit (2-2) that made it 5-4.
Carlos Marmol (2-0) struck out the first four batters he faced -- and five of nine hitters in three perfect innings. Ryan Dempster struck out the side in the ninth for his 16th save in 18 chances, completing five hitless innings by the Cubs' bullpen.
Ian Kinsler hit two homers and Brad Wilkerson also homered to account for all the Rangers' runs.
Sosa, whose only homer in the past 21 games was a grand slam Friday in Cincinnati, has two more chances against the Cubs to join Hank Aaron, Barry Bonds, Babe Ruth and Willie Mays in the 600-homer club. Slammin' Sammy has 11 homers in 61 games this season for Texas.
The Cubs played at Rangers Ballpark in Arlington for the first time, and many in the announced crowd of 38,290 wore Chicago jerseys and cheered for the visitors. Chicago was the only team that Sosa, in his 18th major league season, had never faced as an opponent.
Mike Fontenot, part of the February 2005 trade that sent Sosa to Baltimore, was 2-for-3 with a walk and scored twice for the Cubs
-- the second run after his leadoff single in the sixth and before Lee's double.
Lee appealed the five-game suspension he got because of a bench-clearing brawl Saturday at Wrigley Field after he was hit by a pitch thrown by San Diego's Chris Young, who has also appealed a five-game suspension.