Dele Adebola scored twice as Bristol City fought back to defeat beleaguered Charlton in their Coca-Cola Championship clash at Ashton Gate.
Tom Soares gave the division's bottom club a fully-deserved lead after 29 minutes when he beat Adriano Basso to nod home Nick Bailey's excellent cross from the left.
However, the hosts came roaring back after the interval, with Adebola notching twice in four minutes to secure a valuable three points.
The visitors had chances to claim a share of the spoils, but a combination of wasteful finishing and fine goalkeeping from Basso kept them at bay.
City boss Gary Johnson made two changes to the side which defeated Barnsley 2-0 at the weekend, with Gavin Williams and Peter Styvar coming in for Stern John and Ivan Sproule.
Tresor Kandol made his full Charlton debut, with Deon Burton dropping to the bench, while Grant Basey and Thierry Racon also started in place of Kelly Youga and Lloyd Sam.
Adebola saw an early header cleared away by Basey before Soares tested Basso with a left-footed strike from the edge of the area.
The visitors almost took the lead soon after when Kandol charged down Basso's clearance, but the Brazilian goalkeeper recovered to scramble the ball away.
Matthew Spring fired a free-kick narrowly over the bar and Racon forced Basso into a fine save with a low drive from 25 yards as Charlton continued to impress.
Soares then broke the deadlock and Dickson saw another shot fly wide a minute later as the visitors grew in confidence.
City were unable to mount much of a response before the break, although Michael McIndoe saw a cross flash agonisingly across the face of the Charlton goal.
The home side improved after the interval and they pulled level after 49 minutes.
Liam Fontaine was given time to deliver a cross from the left and Adebola rose to power a trademark header beyond Charlton goalkeeper Rob Elliot.
Four minutes later, City were ahead as the Charlton defence once again failed to deal with the sizeable threat posed by Adebola.
The veteran forward latched onto a ball from Bradley Orr before clipping the ball over the advancing Elliot with the outside of his left foot.
Bailey blazed a volley over the bar as the visitors looked to mount a comeback of their own.
Soares was then denied a second goal after 63 minutes when his header was superbly tipped around the post by Basso.
The City stopper was forced into further action to keep out efforts from Matthew Spring and Dickson, while at the other end Elliot had to pull off a wonderful reflex stop after Matt Holland had diverted a McIndoe cross towards his own net.
Williams almost added a third for the hosts in the closing stages when he burst through the centre of the Charlton defence, but his powerful 20-yarder was beaten away by Elliot.
The Charlton goalkeeper dashed upfield for a corner in injury-time, but he failed to connect and was booked for fouling McIndoe as City looked to break.
Teams
Bristol City Basso, Orr, Carey, Fontaine, McAllister, Johnson,Skuse, Williams, McIndoe, Adebola (Akinde 85), Styvar (John 67).
Subs Not Used: Henderson, Sproule, Iriekpen.
Goals: Adebola 49, 53.
Charlton Elliot, Murty (Ambrose 74), Holland, Ward, Basey,Soares (Moutaouakil 79), Racon (Sam 74), Spring, Bailey,Dickson, Kandol.
Subs Not Used: Randolph, Burton.
Booked: Racon, Spring, Elliot.
Goals: Soares 29.
Att: 15,304
Ref: Kevin Friend (Leicestershire).