Paolo Espino (5-5) and five relievers combined on a five-hitter, cooling what had been a hot Colorado lineup. Espino allowed three hits in 5 2/3 innings. He struck out seven and walked three.
Kyle Finnegan, who had blown his past two save chances, pitched the ninth for his 10th save.
Charlie Blackmon had two doubles for the Rockies (70-79), who finished 7-2 on their road trip to Philadelphia, Atlanta and Washington. The Rockies averaged 5.5 runs per game over the first eight games of the trip.
Soto has hit safely in 10 of his last 12 games, going 20-for-41 (.488) with two homers, six RBIs and 10 runs scored.
Josh Bell reached base four times with two singles and two walks for Washington (61-88), which had lost three straight.
Colorado starter Jon Gray (8-11) allowed two runs on three hits and two walks in four innings. He struck out five.
The Nationals took a 1-0 lead in the first inning as Alcides Escobar singled and stole second, Bell walked and Yadiel Hernandez singled, scoring Escobar.
With two outs in the third, Soto connected on a 1-0 slider from Gray and sent it 454 feet to center for his 26th home run.
Colorado threatened with two outs in the sixth. Blackmon walked and Trevor Story followed with a single. Austin Voth replaced Espino and walked C.J. Cron to load the bases, but Ryan McMahon flied out.
In the Washington sixth, Bell and Hernandez opened with singles. Carter Kieboom grounded into a double play, with Bell going to third. Kiebert Ruiz was hit by a pitch and Luis Garcia followed by grounding an RBI single to right.
Blackmon doubled with two outs in the eighth and Story reached on an infield single, but Andres Machado came to strike out McMahon.
–Field Level Media