Charlton ended Yeovil's FA Cup hopes as they clung on to win a dramatic fourth round tie with the League Two leaders.
Bryan Hughes' curler put Charlton ahead but Paul Terry, brother of Chelsea defender John, equalised from close range on the stroke of half-time.
Francis Jeffers tapped in to restore Charlton's lead and Shaun Bartlett added a third with an easy strike.
Yeovil fought back with Arron Davies' cracking drive in the 66th minute but Charlton survived to go through.
Gary Johnson's side had refused to be intimidated by their Premiership opponents and produced some neat, flowing football.
Terry, watched by his England international brother John, won two corners for Yeovil with his probing runs down the right.
Leading scorer Phil Jevons saw his right-footed shot curl wide before Terry's 25-yard piledriver clattered the left-hand post after 21 minutes.
At the other end, recalled Charlton striker Jeffers missed his chance, skimming the bar as Glovers goalkeeper Chris Weale closed in.
Terry had given Yeovil hope just before half-time
Danny Murphy was at the heart of things for the home side as they reasserted control of the match before half-time.
His clever through-ball found Hughes but his left-footed effort flew inches above the bar.
However, the former Birmingham midfielder made no mistake minutes later, controlling Hermann Hreidarsson's knockdown, from a Talal El Karkouri free-kick, and whipping the ball beyond Weale.
But Gall galvanised Yeovil just before the break, weaving his way through the Charlton defence on a determined solo run.
Terry was on hand as Gall stumbled in the box and he drove the loose ball home for a deserved equaliser.
Yeovil's hopes were quickly quashed by Charlton after the break when Jeffers restored the home side's advantage with an easy tap-in from Murphy's cross.
Six minutes later, Bartlett turned the screw on the Glovers as he calmly picked up Jerome Thomas' pass, prising open Yeovil's defence with a straightforward finish.
But Gary Johnson's League Two leaders refused to lie down and saw their efforts rewarded in the 66th minute.
On-loan Southampton midfielder Davies delivered his speculative shot with such power that Charlton keeper Dean Kiely could only stand and watch as it sailed out of his reach.
Yeovil poured forward, staging a nail-biting finish, Jevons coming closest as his shot was saved off the line by a vigilant El Karkouri as Charlton held firm.
Charlton manager Alan Curbishley:
"They definitely gave us a fright. I think we could have made it easier for ourselves.
"We are seventh in the Premiership and have been given a right test, so great credit to Yeovil.
"At half-time I steamed into the players and they came out, gave me the response and we raced into a 3-1 lead."
Yeovil boss Gary Johnson:
"It was a very entertaining FA Cup tie. What a game. I'm very, very proud of our team.
"We gave as good as we were getting and I think we had almost as many goal chances as Charlton.
"Their two quick goals after half-time were disappointing but we kept playing and showed how strong we could be. I hope we've enhanced our reputation."
Charlton: Kiely, Young, Fortune, El Karkouri, Hreidarsson, Murphy (Euell 88), Holland, Hughes (Konchesky 76), Thomas, Jeffers (Johansson 77), Bartlett.
Subs Not Used: Andersen, Rommedahl.
Goals: Hughes 37, Jeffers 51, Bartlett 57.
Yeovil: Weale, Terry (Rose 58), Skiverton, Guyett, Lindegaard, Johnson, Gall, Way, Stolcers (Caceres 81), Jevons, Tarachulski (Davies 62).
Subs Not Used: Collis, Miles.
Goals: Terry 44, Davies 66.
Ref: R Styles (Hampshire).