Zimmermann (14-5) allowed only two baserunners, finishing with 10 strikeouts and one walk in the fifth no-hitter in the majors this year.
Christian Yelich almost wrecked Zimmermann's bid with two outs in the ninth inning. He sent a long drive to left-centre, and Zimmermann leaned his head back and winced, thinking his no-hitter was lost.
But Souza, who made his big league debut this year and took over for Ryan Zimmerman to begin the ninth, ran hard into the gap, extended his glove and leaped for the sensational catch. Souza used his bare hand to squeeze the ball in his mitt as he fell.
Souza hopped up and punched the air. Zimmermann, watching from the mound, raised both arms overhead and pumped his right fist.
"I thought that was a double for sure, and here he comes out of nowhere and makes the play," Zimmermann said.
It was the fifth time there has been a no-hitter on the final day of the season. Last year, Henderson Alvarez of the Marlins threw one against Detroit to close the season — on Sunday, he was Miami's starting pitcher against Zimmermann.
The Nationals put a stirring end to a regular season in which they finished with the best record in the National League. Washington begins the playoffs at home on Friday.
In a season marked by diminished offence, Josh Beckett of the Dodgers pitched a no-hitter against Philadelphia on May 25 and Los Angeles teammate Clayton Kershaw did it to Colorado on June 18. San Francisco's Tim Lincecum no-hit San Diego on June 25 and four Philadelphia pitchers combined to stop Atlanta on Sept. 1.
There have been 24 no-hitters in the last five seasons, the most in any five-year span in major league history, STATS said.
Zimmermann retired the first 14 batters before walking Justin Bourn on a full-count pitch with two outs in the fifth inning.
With two outs in the seventh, Garrett Jones reached first base on a strikeout when he swung and missed on a wild pitch. Zimmermann leaned over and put his hands on his knees. But moments later, catcher Wilson Ramos picked off Jones at first.
Zimmermann needed only 104 pitches to record 27 outs, and his accuracy was unassailable: 79 strikes and just 25 balls.
Quite a performance by the 28-year-old right-hander taken in the second round of the 2007 draft out of Division III University of Wisconsin-Stevens Point.
Starting on seven days' rest because his pitching shoulder got bruised by a line drive his last time out, also against Miami, Zimmermann poured in fastballs in the mid-90s mph, used his mid-80s slider to great effect and had his changeup fooling a Marlins lineup without NL home-run champion Giancarlo Stanton.
By the late innings, the crowd of 35,085 was roaring with every pitch by Zimmermann.
On Sunday, with only a few clouds and a first-pitch temperature at 79 degrees, Zimmermann didn't need a whole lot of defensive help until the final play. That might have been a good thing, because the NL East champion Nationals already had pulled starting fielders over the course of the afternoon.
The closest Miami came to getting hits before Yelich probably were three liners, all in the fifth, and all grabbed by backup infielders — by Tyler Moore at first base, by Kevin Frandsen at third base, and by Danny Espinosa at shortstop.
Espinosa had come in to replace Ian Desmond, whose 24th homer with one out in the second off Alvarez (12-7) accounted for the only run.
There were four no-hitters thrown by the Montreal Expos before the franchise moved to Washington before the 2005 season.
Dennis Martinez did it in 1991, Charlie Lea pitched one in 1981 and Bill Stoneman threw Expos no-hitters in 1972 and 1969.
Souza also put his stamp alongside other top catches to save no-hitters. Defensive replacement Dewayne Wise reached to the top of the wall for a juggling, tumbling grab in the ninth inning of Mark Buehrle's perfect game in 2009, Gregor Blanco made a diving catch in the seventh of Matt Cain's perfect game in 2012 and Hall of Famer Robin Yount had a diving grab in the outfield to complete Juan Nieves' no-hitter in 1987.
Along with Zimmermann and Alvarez, other no-hitters on the final day came by Mike Witt, who threw a perfect game for the Angels in 1984, four Oakland pitchers in 1975 and Bumpus Jones for Cincinnati in 1892.
Denard Span doubled in the third off Alvarez to set a Nationals record with his 184th hit of the season; Cristian Guzman had 183 in 2008. The crowd responded with a standing ovation, and Span was removed for a pinch-runner. As he headed to the dugout, Span doffed his batting helmet, then was greeted with high-fives and hugs from teammates.