In the off-season, O'Donnell became a free agent and signed with the Boston Bruins. In his first season as a Bruin, O'Donnell recorded NHL career-highs with 22 assists and 25 points in 80 games. After three seasons in Boston, he became a free agent once more and signed with the Phoenix Coyotes. For the second time in his career, he was dealt at the trade deadline in his first season with a new club, as the Coyotes traded him to the Mighty Ducks of Anaheim in exchange for Joël Perrault. The following season, in 2006–07, O'Donnell won a Stanley Cup with the Ducks.
