Charlton dominated the opening 25 minutes but missed a number of chances.
Striker Luke Varney was the main culprit as he fired over the bar and then across the face of the goal.
The visitors were lucky however when a 25-yard free kick by 16-year-old Jonjo Shelvey crashed against the post with the Yeovil goalkeeper flat-footed.
But Yeovil's keeper Josh Wagenaar then made a great save to deny Charlton skipper Matt Holland.
Yeovil took the lead on 28 minutes when a long throw by Lee Peltier was flicked on by skipper Terry Skiverton for Paul Warne to score from 12 yards.
Charlton manager Alan Pardew made six changes from the team that won their opening league game on Saturday, but Charlton gave a poor second-half performance and rarely tested the visiting keeper.
The closest they came to equalising was a Varney header which went over the bar.
This was only the second ever meeting between the two clubs and Yeovil won the game despite arriving at The Valley so short of players that they had to put their 42-year-old coach Steve Thompson on the substitute's bench.
Charlton goalkeeper Rob Elliot did not have a save to make in the game but still finished on the losing side after his team's abject display.