CHICAGO -- Carlos Zambrano kept his cool this time after a tough first inning, Carlos Pena hit a three-run homer and Starlin Castro drove in three runs as the Cubs rallied to beat the White Sox 6-3 on Monday night.
The first matchup of six this season between the crosstown rivals with losing records drew a crowd of 36,005 at U.S. Cellular Field on a 75-degree night. White Sox manager Ozzie Guillen was ejected in the sixth inning after apparently arguing that a ball hit near the plate by Alexei Ramirez should have been ruled foul.
Zambrano (6-4), who had a meltdown nearly a year ago at The Cell, recovered from a shaky three-run first that included Paul Konerko's 20th homer. He allowed seven hits over eight innings.
Carlos Marmol allowed two hits in the ninth before retiring the side for his 15th save in 19 chances.
Castro's second homer of the season leading off the sixth against Gavin Floyd tied the game at 3-3. And after a single by Blake DeWitt and walk to Aramis Ramirez, Pena connected to right center for his 12th homer.
Zambrano went on a dugout tirade after giving up four runs in the first inning of his start against the White Sox last June 25, angry over his team's defense. He was suspended for the outburst and later went to anger management counseling.
There were no meltdowns this time for Big Z, even after he gave up an RBI single to Carlos Quentin and then a two-run shot to Konerko, who homered for a fourth straight game. Zambrano threw 115 pitches, walked two and struck out five.
Zambrano had given up 12 earned runs in 12 1-3 innings in two starts after saying the Cubs were playing like a Triple-A team following a loss in St. Louis earlier this month.
But he kept his composure after the White Sox's strong start. He struck out Konerko with two on to end a threat in the fifth.
The angriest moment came in the bottom of the sixth from Guillen, Zambrano's countryman and friend.
Ramirez hit a ball close to the plate and Cubs catcher Geovany Soto picked it up and tagged him with home plate umpire James Hoye calling Ramirez out. Ramirez protested and then Guillen raced from the dugout, angrily showing Hoye where the ball hit near the plate. After Hoye ejected him, Guillen kicked Soto's mask away from the plate and continued his argument.
It was Guillen's second ejection this season and 27th of his career.
The Cubs got two back against Floyd (6-7) in the third on Soto's single, a sacrifice, a walk to Kosuke Fukudome and Castro's two-out, two-run single. Floyd gave up five hits and six runs in five-plus innings.