During the 2007–08 season, MacArthur again spent time with the Americans and Sabres. At the NHL level, he scored eight goals and added seven assists in 37 games, while recording 42 points in 43 games with the Americans. After the season, MacArthur became a restricted free agent before re-signing to a one-year deal with the Sabres. MacArthur spent his first full season at the NHL level in 2008–09, playing in 71 games with the Sabres and recording 31 points. After the season, the Sabres tendered MacArthur a qualifying offer to retain his rights; he subsequently signed a two-year deal with the club in July 2009. MacArthur played in 60 games for the Sabres, scoring 13 goals and adding 13 assists before being traded to the Atlanta Thrashers in exchange for two draft picks at the NHL trade deadline. He finished the season with the Thrashers recording nine points in 21 games.