Graham was selected 89th overall by the Vancouver Canucks in the 1979 NHL Entry Draft after spending four years with the Regina Pats in the Western Hockey League. Graham spent four years in the minor leagues which included the International Hockey League and the Central Hockey League. In 1980–81, Graham scored 40 goals with the Toledo Goaldiggers of the IHL, and he was named to the second all-star team. In 1982–83, he scored 70 goals with the Goaldiggers and was named to the first all-star team. This caught the attention of some, and he was signed as a free agent by the Minnesota North Stars after never playing a game with the Canucks. Graham spent two more years developing in the American Hockey League and Central Hockey League. He was selected to the CHL First All-Star Team in 1983–84. In 1985–86, Graham was playing full-time with the North Stars. He recorded consecutive 20 goal seasons in Minnesota and was chosen to represent Team Canada in the 1987 World Ice Hockey Championships. On January 2, 1988, Graham was traded to the Chicago Blackhawks for Curt Fraser.
Graham played his best hockey in Chicago. In his first full season with the Blackhawks (1988–89), Graham topped the 30 goal mark for the first time in his career and finished with a career high 78 points (A stunning 10 of his 33 goals were short-handed; thus he joins Wayne Gretzky, Mario Lemieux, and Marcel Dionne as one of only four players to achieve ten or more short-handed goals in a season). He scored 20 goals or more four times with the Blackhawks.
Shortly after retiring, Graham served as assistant coach for Craig Hartsburg with the Chicago Blackhawks. Graham took a year off, then returned as a scout for the Chicago Blackhawks. He served briefly as a head coach in 1998–99 until he was replaced by Lorne Molleken. He is currently a scout for the San Jose Sharks.[4][5]