Gary Redus homered and scored twice to support the four-hit, 10-strikeout pitching of Cincinnati's Mario Soto in Chicago.
The game was delayed 46 minutes at the start by rain and again in the third for 23 minutes.
"It was a very tough game. First you warm up, then you have to sit down, then you warm up, then you sit down again," said Soto (6-2), whose 10 strikeouts marked the third time this season he has struck out that many. He walked one in his fourth complete game in nine starts.
"I told (Pitching Coach Bill) Fischer that I didn't think I could finish in the sixth or seventh. But then I figured as long as I have a lead, I will stay in. If they're going to beat me, they have to do it against me," Soto said.
After the game, the Cubs announced they had acquired veteran right-hander Dick Ruthven and minor-league pitcher Bill Johnson from the Philadelphia Phillies in exchange for relief pitcher Willie Hernandez.
Ruthven, a 32-year-old starter, has a 1-3 record with a 5.61 ERA this season; he was 11-11 with a 3.79 ERA last year. Johnson, a 22-year-old right-hander, was 8-3 with a 1.81 ERA for Peninsula of the Carolina League last year.
Hernandez, a 28-year-old left-hander, is 1-0 this year with 3.20 ERA. He was 4-6 with a 3.00 ERA in 1982.