The A's scored twice in the ninth off Nationals' closer Rafael Soriano to force extras and storm back for their third walk-off win this season after being limited to two hits over the first eight innings.
Alberto Callaspo singled off reliever Drew Storen (2-1) to lead off the 10th before Punto replaced him at first. Storen retired Eric Sogard and Derek Norris before Jaso hit a towering fly ball that ricocheted off the scoreboard in right field as Punto rounded the bases and scored.
The Nationals were three outs from winning and had their rock-solid closer on the mound before Oakland greeted Soriano with three consecutive hits to open the ninth.
It was Soriano's first blown save since Aug. 17, 2013, and ended his career-high streak of 25 consecutive scoreless innings.
That spoiled a stellar outing by Washington starter Tanner Roark.
Coming off the worst start of his season, Roark was masterful while shutting down the A's offense. He allowed two hits over 7 2-3 innings, struck out five and didn't walk a batter. He gave up Jaso's two-out home run in the third before retiring the next 13.
The Nationals backed him with just enough offense until the bullpen broke down.
Danny Espinosa hit a towering home run off Gray with one out in the third to give the Nats an early lead. Zach Walters and Denard Span followed with singles before Kevin Frandsen lined a two-run double to the gap in left-center to make it 3-0.
Jaso's two-out home run off Roark in the bottom of the third trimmed Washington's lead to 3-1. The Oakland catcher also homered in Friday's 8-0 win over the Nationals.
Roark left with two outs in the eighth after a throwing error by Espinosa allowed Reddick to take third. Roark fielded Eric Sogard's grounder cleanly, but his throw to first hit Reddick in the back of the helmet and ricocheted near the Nationals dugout.
Tyler Clippard replaced Roark and retired pinch-hitter Derek Norris before the A's rallied for the tying runs off Soriano.
Gray, the AL pitcher of the month in April, struck out three and walked two. He allowed six hits over seven innings and gave up all of Washington's runs in the third
NOTES: Nationals first baseman Adam LaRoche (quad strain) was kept out of the lineup after aggravating the injury on Friday. ... Injured slugger Ryan Zimmerman (right thumb fracture) has not yet resumed hitting and is scheduled to have another X-ray on Sunday. ... Oakland LHP Scott Kazmir (4-1) pitches the series finale after taking the loss in his previous outing. ... Former A's starter Gio Gonzalez (3-2) goes for Washington. Gonzalez won 15 and 16 games for Oakland in 2010 and 2011, respectively.