Philadelphia owned a one-run lead heading into the seventh, but Ryan Zimmerman hit a home run in that inning to lift Washington into a tie.
The Nationals then scratched out a run in the top of the eighth and held on thanks to a key defensive play in the bottom half of the inning.
Wilson Ramos walked to open the Washington eighth and Kobernus came on to run for him.
Scott Hairston sacrificed Kobernus to second and the pinch-runner stole third. Steve Lombardozzi followed by hitting a grounder to Chase Utley at second and Utley fired home. Kobernus, however, beat the throw to give Washington the lead.
Utley reached third with one out in the bottom half of the inning, after which Craig Stammen fanned Darin Ruf. The ball got away from catcher Jhonatan Solano and Utley tried to score. Solano quickly tracked down the ball and raced back to the plate in time to barely tag out Utley.
Jordan Zimmermann (16-8) grabbed the win by giving up two runs on seven hits over seven innings. Rafael Soriano worked a perfect ninth for his 38th save.
Jacob Diekman (1-4) was charged with the go-ahead run in the eighth as well as the loss.