The Cubs improved to 2-0 under interim manager Mike Quade, who took over when Lou Piniella unexpectedly retired after Sunday's game. Quade is the first Cubs manager to win his first two games since Jim Riggleman, now the Nationals' skipper, started 4-0 in 1995.
Zambrano (5-6) yielded a run on five hits over 7 1-3 innings, his longest outing of the year. He walked one and struck out eight.
In four starts since returning from the bullpen, the right-hander is 2-0 with a 2.25 ERA.
The Nationals have lost three straight games and dropped a season-worst 20 games under .500.
Carlos Marmol fanned Ian Desmond on three pitches to escape a bases-loaded jam in the eighth and got his 23rd save in 28 chances, despite allowing a three-run double by Adam Kennedy in the ninth.
Soriano's three-run homer put the Cubs ahead in the second. Jeff Baker and Geovany Soto singled before Soriano sent an 0-1 John Lannan pitch into the left-field stands for his 20th. It was his first homer since Aug. 1 and gave him nine straight seasons of 20 or more home runs.
Ryan Zimmerman's RBI single got the Nationals within 3-1 in the third. Alberto Gonzalez led off with a single and beat the throw to second on Lannan's sacrifice attempt. Zimmerman then singled to center.
A two-run shot by Colvin made it 5-1 in the fourth. Soriano reached on shortstop Gonzalez's throwing error and Colvin homered to right-center on Lannan's first pitch.
Lannan (5-6) was pulled after allowing five runs on seven hits in five innings. He struck out three.
NOTES: Colvin's 19 homers lead major league rookies. ... Before the game, the Nationals placed RHP Stephen Strasburg on the 15-day disabled list with a right forearm strain and recalled RHP Collin Balester from Triple-A Syracuse. ... Chicago optioned RHP Justin Berg to Triple-A Iowa on Tuesday and selected the contract of LHP Scott Maine. ... Before the third, Zambrano had not allowed an earned run at Nationals Park in 14 2-3 innings. He is 3-0 with a 0.47 ERA in four career starts at Nationals Park. ... With runners on first and second and the Cubs in an exaggerated shift against Washington's Adam Dunn in the eighth, Nyjer Morgan jogged to third uncontested. It was ruled defensive indifference, not a stolen base.