Two goals either side of half time from Shania Hayles and Ffion Morgan wrapped up the points for the visitors.
Both sides came out of the blocks firing, with chances falling either way in the first 10 minutes. Mia Ross shot over for Charlton while Abi Harrison sliced a volley well wide for Bristol City.
Keira Skeels and Ross both got headers in from corners that were dealt with by the visiting defence, while a Mel Johnson cross was cleared by a well-positioned defender after the striker had driven into the box.
The opening goal came after 25 minutes and followed a sequence of corners, where the away side were denied by Sian Rogers, who was on top form throughout. First the keeper did brilliantly to tip a Vicky Bruce volley over the bar before parrying a well-hit Harrison effort wide.
Rogers could do little to keep out Hayles’ header at the near post the resulting corner, though.
The strike gave the league leaders momentum and they built up a head of steam, with the hosts struggling to make any inroads away from their own half of the pitch.
A corner struck the crossbar before former Addick Ella Powell slammed an effort into the side netting and Skeels did well to block a shot one-on-one with Rogers well out of her area.
Charlton had chances as the interval approached with Ella Rutherford and Beth Roe both shooting over the bar from long range.
Both sides had chances early into the second period. Charlton’s half-time sub Tegan McGowan fed Johnson with a great reverse pass and from the resulting corner Ross saw a header blocked before another defender got in the way of Addison’s follow-up.
Rogers then had to be at her best once more five minutes into the second half when she pushed away a Powell effort.
Six minutes after the hour mark Bristol City doubled their advantage when a mix-up in the Charlton defence saw both Skeels and Elisha N’Dow miskick clearances and the ball fell to Morgan, who fired past Rogers.
Charlton searched for a way back into the tie with the lively McGowan forcing Bentley into a couple of smart saves. Up the other end, Rogers rounded off an excellent performance but stopping a powerful strike from Harrison.
In the end, the visitors held out for the win. Charlton make the trip up to Durham next weekend hoping to get back to winning ways.
Charlton: Rogers, N’Dow, Johnson, Simpkins (Ayisi 67), Addison, Skeels, Rutherford, O’Rourke (Bashford 85), Roe, Henson (McGowan 46), Ross. Subs (not used): Soper, Bell.
Yellow card: Rutherford.
Bristol City: Bentley, Powell, Cataldo, Palmer, Harrison, Hayles (C. Bull 70), Mustaki, Bruce, Syme (J. Bull 85), Wilde, Morgan (Boddy 89). Subs (not used): Clark, Hutton, Ward.