A wild, bat-around fifth inning Thursday night for Chicago included Addison Russell's go-ahead, two-run double, a bases-loaded hit by pitch, and a disputed dropped third strike followed by a throwing error, helping the defending World Series champion Cubs come back - and then hold on - to edge the Nationals 9-8.
And for the third year in a row, Chicago reached the NL Championship Series.
Russell drove in four runs and Davis, Chicago's seventh pitcher, turned in his longest appearance since 2012.
Catcher Willson Contreras picked off Jose Lobaton at first base to quash a Washington threat in the eighth and Davis fanned a swinging Bryce Harper for the final out.
Chicago, which surpassed its total of eight runs from the first four games of the NL Division Series, advanced to face the Los Angeles Dodgers, who will start ace Clayton Kershaw at home in Game 1 of the NLCS on Saturday night.
Homers by Daniel Murphy and Michael A. Taylor gave the hosts a 4-1 lead in the second against Cubs starter Kyle Hendricks.
But Gonzalez gave back two of those runs, so it was 4-3 as two-time Cy Young Award winner Scherzer entered for the fifth.
By the time Scherzer's one inning was over, the Cubs had taken a 7-4 lead, and Russell had delivered the biggest hit. Chicago scored two earned runs and two unearned runs, on the strength of three hits, one hit by pitch, one intentional walk, a catcher's interference, and one very odd play.
What could have been a potentially inning-ending strikeout turned into a run, as Javier Baez swung and missed, but the ball went under catcher Matt Wieters' glove and through his legs. When Wieters collected the ball, he threw it into right field for an error, then appeared to argue that the play should have been ruled over because Baez's follow-through carried the bat into the catcher's mask.
The lead was 9-6 when Washington got one run in the seventh on Harper's sacrifice fly, and one in the eighth on Taylor's RBI single.
But the Nationals wasted some opportunities. In the eighth, with two on and no outs, pinch-hitter Adam Lind hit into a double play. Later in that inning, again with two men aboard, Lobaton was nailed by Contreras' snap throw for the third out - Lobaton was originally ruled safe, a call that was overturned on replay.
In the seventh, Ryan Zimmerman was up as the go-ahead run with two men on, but Davis struck him out. That was part of an 0 for 4, three-K night for the first baseman who had a resurgent season, leading the Nationals with 36 homers and 108 RBIs.