Nathan Dyer beats Addicks keeper Rob Elliot for the opening goal
A 55th-minute Nick Bailey goal salvaged a point for bottom-club Charlton at the play-off chasing Swans.
Swansea dominated a poor first half, but saw captain Garry Monk limp off with a back injury after 27 minutes.
Nathan Dyer gave the home side the lead when he raced through one-on-one with Charlton keeper Rob Elliot from Guillem Bauza's pass and slotted the ball home.
Nick Bailey equalised when a speculative 25-yard shot was deflected off Alan Tate past Dorus De Vries.
Swansea manager Roberto Martinez: "The goal they scored was unfortunate but we showed a good reaction and had two great chances to win the game in the last few minutes.
"We have to remember that Charlton were well organised throughout the game.
"They are fighting for survival and that sometimes brings extra strength.
"The game was full of intensity and we have to realise that we must break down these teams and the fans must also understand this.
"We kept control in the first half but suffered a little from Charlton's physicality which was shown by the number of yellow cards they received.
"From now to the end of the season it is not just about having a winning mentality, it is also about physical strength and fitness."
Charlton manager Phil Parkinson: "It was a great show from the players and after we equalised we even went looking for the winner.
"Swansea's players over-reacted to a lot of challenges and the referee never showed us any favours but we didn't deserve so many bookings.
"This team has shown signs that they are capable of going on a run and will have to keep this level of performance up.
"We have good players and have now gone three games unbeaten and the players are now beginning to show a belief in themselves.
"We probably need at least 50 points for safety but we will take each match as it comes and see where that takes us."
Bookmark with:
What are these?