Astrit Ajdarevic, Dorian Dervite and Marvin Sordell scored for Jose Riga’s struggling side, who netted three times for the first time since Boxing Day.
Joel Grant had earlier cancelled out Ajdarevic’s long-range opener and Kieffer Moore set up a tense finale when the substitute slotted home into an empty net following a defensive mix-up.
It puts Charlton now two points clear of the drop zone – with two games in hand over their opponents in the scrap for survival – while Yeovil are last.
This was a classic ‘six-pointer’ with both sides fighting it out at the bottom of the division.
Charlton got their noses in front after just nine minutes when ex-Liverpool midfielder Ajdarevic collected a loose ball on the halfway line, beat one Yeovil challenge before firing into the bottom corner past Chris Dunn from outside the penalty box.
The Swede peeled away in delight, but the hosts’ celebrations were short-lived as the visitors responded within two minutes.
Grant applied the finishing touch from James Hayter’s pass, but his effort took a wicked deflection off Richard Wood to wrong-foot goalkeeper Ben Hamer.
The Glovers almost took the lead in the 13th minute when Hayter scuffed his shot from eight yards.
There were chances a plenty, Reza should have done better from close-range before Yeovil’s Joe Ralls had two opportunities in as many minutes.
The on-loan Cardiff midfielder fired a shot from 20 yards which fizzed over the crossbar. Then Ralls forced Hamer into a smart stop with a left-footed drive from distance.
Gary Johnson’s Yeovil kept pushing forward to try and get themselves ahead.
Tom Lawrence almost managed to do just that when the Welshman, on loan from Manchester United, hit the crossbar directly from a corner.
But, as the half wore on, Charlton grew in stature and began to impose themselves on the Huish Park side.
Stopper Dunn came to the rescue twice, saving from Ajdarevic and then making a superb save to deny Sordell.
That came from a poor pass from Byron Webster which was intercepted by Diego Poyet and the son of Gus played Sordell into the space and his shot was turned around the post.
But Charlton maintained their momentum early in the second period to gain a foothold in the game.
The home side restored their advantage when defender Dervite powered home a 48th-minute header from Johnnie Jackson’s corner.
Then Sordell added a third for Riga’s men, tapping in after Dunn failed to hold Reza’s right-wing cross to ease their relegation worries despite Moore’s consolation goal for Yeovil.