Harris began his National Hockey League career with the Toronto Maple Leafs in 1955-1956. In total, he played 10 seasons with Toronto before being traded in the off season to the Detroit Red Wings along with Andy Bathgate and Gary Jarrett for Larry Jeffrey, Eddie Joyal, Lowell MacDonald, Marcel Pronovost, and Autry Erickson on May 20, 1965. After playing 24 games for Detroit in 1965-1966 he was sent down to the Red Wings AHL affiliate Pittsburgh Hornets.
The following year the National Hockey League expanded from six teams to twelve and on June 6, 1967 Harris was selected by the Oakland Seals in the expansion draft.
During his second season with Oakland he was traded to the Pittsburgh Penguins for Bob Dillabough. Harris would retire from professional hockey at the conclusion of the 1968-1969 National Hockey League season.
After finishing his playing career in 1970 with the Canadian national team, Harris became head coach of the Swedish national ice hockey team in 1971-1972. He then became the first head coach of the Ottawa Nationals in the WHA"s inaugural 1972-1973 season and coached Team Canada in the 1974 Summit Series against the Soviet Union.
Harris went on to become an assistant coach with the Edmonton Oilers under Glen Sather for two seasons beginning in 1981-1982.
He ended his coaching career after serving as a head coach in the OHL for the Sudbury Wolves in 1982-1983 and 1983-1984. May 20, 1965 – Traded by the Toronto Maple Leafs with Andy Bathgate and Gary Jarrett to the Detroit Red Wings for Larry Jeffrey, Eddie Joyal, Lowell MacDonald, Marcel Pronovost and Autry Erickson
June 6, 1967 – Claimed by the Oakland Seals from the Detroit Red Wings in National Hockey League expansion draft
November 28, 1968 – Traded by the Detroit Red Wings to the Pittsburgh Penguins for Bob Dillabough.