After Ipswich failed to win promotion in 2003, Holland moved back to the Premier League by joining Charlton Athletic on a four-year contract for an initial £750,000 fee, which later rose to £900,000. Again with this move he assumed the captain's armband and was ever-present in his first season for the club. He made his debut for Charlton against Manchester City on 17 August 2003. He scored his first goals for the club on 3 November 2003 when he netted a brace in a 2–1 win over Birmingham City. He played in every league game during his first season at Charlton, scoring 6 goals. In his first season at the club, Holland captained Charlton to 7th in the league, their highest ever Premier League finish.