Barrett's long tenure with the Expos ended in December 2003. The team traded Barrett to the Oakland Athletics in exchange for minor league pitcher Brett Price. The Athletics then traded Barrett to the Chicago Cubs for Damian Miller, only days after the initial transaction. Barrett, who had just spent six days with three teams, shortly signed a one-year contract with the Cubs, which was worth nearly $1,550,000. He first practiced with the Cubs during their annual spring training sessions, and reported receiving a cold reception from teammates. Barrett went on to become one of their top hitters during the 2004 season. He played a crucial role in their wild card chase; Barrett maintained a .287 batting average and hit sixteen home runs and sixty-five RBI during the 2004 season. He finished the season as one the league's top defensive catchers (fielding at .994 with six errors), and led the Cubs in triples and sacrifice flies.