Zambrano's opening day start was his sixth consecutive one, a Cubs record. However, he gave up eight runs in one and one third innings, including a 3-run home run to Jason Heyward in his first career at-bat. He was charged with the loss as the Cubs lost the game, 16–5. Zambrano bounced back in his next start against the Cincinnati Reds, however. Zambrano pitched 7 strong innings, giving up three earned runs, six hits, and striking out nine batters en route to his first victory of the season. On April 21, 2010, The Cubs moved Zambrano to the bullpen. On May 30, 2010, the Cubs decided to move Zambrano back to the rotation. He made his first start on June 4 against the Astros. In his first four starts after returning to the rotation, Zambrano was 2–2 with a 3.09 ERA.
On June 25, 2010, against the Chicago White Sox at U.S. Cellular Field, Zambrano allowed up four runs in the first inning. He then proceeded to mount a furious tirade in the Cubs dugout. Cameras showed Zambrano appearing to yell at Derrek Lee, whom the pitcher apparently blamed for failing to field a sharply-hit ball off the bat of Juan Pierre, resulting in a lead-off double. The Cubs coaching staff had to separate the two players and manager Lou Piniella opted not to send Zambrano back to the mound in the second inning. Cubs general manager Jim Hendry announced that Zambrano would be suspended indefinitely for his behavior in the game. The next day, Lou Piniella announced that when Zambrano returned, he would be moved back to the bullpen. It was later confirmed that Zambrano would undergo anger management before returning with the team. The Cubs then returned Zambrano to the rotation for the second time where he did not give up more than two runs in any start since his return from the bullpen on August 9. Over that time, he allowed only 11 total runs (9 earned) in 50 innings, and pulled his ERA down to 3.75. On August 30, 2010 against the Pittsburgh Pirates, Zambrano improved to 3–0 since his return to the pitching rotation, striking out seven. Additionally, he recorded his 21st career home run with a two run shot, increasing his club record for home runs by a pitcher. On September 15 at Busch Stadium, he once again faced Cardinal's ace Chris Carpenter and out-dueled him throwing 104 pitches over six innings giving up just 2 runs (1 earned). He has now won 5 consecutive starts and 6 decisions overall since returning to the rotation. Zambrano pitched for the first time with his mother present against the San Diego Padres at San Diego on Monday, September 27, 2010. He gave up no runs over 7 innings and won the game. His record now sits at 10–6 with a 3.36 ERA. Zambrano is now 7–0 in 9 starts with an ERA of 1.07 (seven earned runs in 59 innings) since his return to the rotation on Aug. 14. Zambrano finished the season 11–6 with an ERA of 3.33. He was 11–5 with an ERA of 3.19 in 20 starts and pitched 113 innings in those starts. He was 0–1 with a 4.32 ERA in 16 bullpen appearances spanning 16 and two-thirds innings. For the entire season Zambrano gave up just 7 home runs.
The combative Zambrano was known for being highly emotive on the mound, often antagonizing opponents and teammates alike. He behaved especially poorly when he did not pitch well, often blaming others. He incurred lengthy team suspensions in June 2010 and August 2011 after unleashing tirades in the wake of bad pitching performances. In another incident, he was suspended six games and fined $3,000 by Major League Baseball for arguing with umpire Mark Carlson and firing a ball into the outfield. In other instances, he quarreled—and physically fought—with teammates for what Zambrano considered their poor effort or performance.