The Braves' march toward a likely National League East pennant was briefly stalled with their magic number for clinching the division staying at six.
San Diego then scored twice in both the seventh and eighth, cutting Atlanta's division lead to 10 games over Washington with 15 to play.
Chase Headley began the eighth with a home run that tied it and Forsythe, beset by foot problems that have threatened to end his season, came on as a pinch-hitter later in the inning to drive home Tommy Medica with a single to center.
Nick Vincent (5-3) struck out the side in the seventh, his only inning of work, to claim the win. Huston Street retired the Braves in order in the ninth for his 30th save.
Jordan Walden (4-3) put the eventual winning run on base in the eighth and was charged with the loss. He was the fifth of seven Atlanta pitchers.