|Olympic medal record|
|Men's Ice hockey|
|Silver||1936 Garmisch-Partenkirchen||Team Competition|
He played junior hockey for the Port Arthur Juniors and the Port Arthur West End from 1932 to 1934. He then played for the senior Port Arthur Bearcats in 1934-35 and went with them as they represented Canada at the 1936 Olympics. The team won the silver medal.
Haggarty stayed in Europe and played for the Wembley Monarchs until 1939. With the advent of World War II, he returned to Canada and joined the Montreal Royals in 1939-40. In 1941-42 he was called up to the Montreal Canadiens and played 5 games, scoring a goal and an assist. From 1942 to 1946 Haggarty served in the RCAF and played for various teams of that service.