The two goals came either side of half time with Saints taking a 42nd minute lead.
Adam Lallana finished well in the 42nd minute but soon after the restart it was level with Deon Burton bundling in Shelvey's cross.
Charlton pushed on looking for a winner and had two goals disallowed and they hit the post. Saint's held on though and played out the game to earn a well deserved point at the league leaders.