The slumping Cubs announced after the game that they had traded first baseman Derrek Lee to the Atlanta Braves for three minor leaguers.
Clayton Richard allowed one run and seven hits in 6 2-3 innings for the Padres, who have outscored opponents 53-20 while winning nine of their last 10 games. San Diego (72-47) has the NL's best record and is 25 games over .500 for the first time since its pennant-winning 1998 season.
The Cubs (50-71) lost their sixth straight home game and are 4-17 overall since July 27. The announced attendance at Wrigley Field was a season-low 33,267.
Casey Coleman (0-1) allowed three runs and six hits over 4 1-3 innings in his first start for the Cubs. The right-hander was followed by five more rookies, setting a single-game franchise record on the mound.
Coleman got in trouble in the first inning, walking two and hitting Chase Headley with a 1-2 pitch before Stairs doubled off the top of the left-field wall.
One of baseball's top pinch hitters, Stairs was making only his 12th start for the Padres — his 12th team in 18 seasons. San Diego is 10-2 when he starts this season.
Gonzalez hit a solo drive in the third for his 23rd homer and fifth in his last six games at Wrigley. Gonzalez, who also singled and walked three times, has a career .329 average in Chicago's longtime home.
Gonzalez scored for the third time on Andrew Cashner's eighth-inning wild pitch and Headley added a sacrifice fly in the ninth.
NOTES: San Diego improved to 36-25 on the road and 25-12 in day games. ... Padres CF Tony Gwynn left in the sixth inning with a sprained right wrist. He sustained the injury while fouling off a pitch. ... Before Wednesday, Richard was 1-6 with a 5.61 ERA in day-game starts, compared to 20-9 and 3.90 at night. ... Slumping Cubs rookie Tyler Colvin will return to the lineup Thursday after getting a four-game "breather," manager Lou Piniella said.