Ferguson was born in Vancouver, British Columbia on September 5, 1938. His father died when he was 9, and he was raised by his mother near the Pacific National Exhibition grounds. Ferguson loved horses and hung around Hastings Park as a child. Aside from his interest in horses and hockey, he also played lacrosse. Ferguson's hockey career began as a stickboy for the Vancouver Canucks, then of the Western Hockey League. He became interested in the role of enforcer when he saw the more talented Canucks players get hit repeatedly, without having their teammates attempt to respond or dissuade their opponents.
Playing career
Ferguson played his junior hockey in Western Canada, with the Melville Millionaires of the Saskatchewan Junior Hockey League in 1956–57, and 1958–59. In 1959–60, he was playing professionally with the Fort Wayne Komets of the International Hockey League. In 1960, he moved to the American Hockey League and the Cleveland Barons. In 1963–64, he was promoted to the Canadiens as an "enforcer" to protect captain Jean Beliveau from aggressive defenders—merely twelve seconds into his first NHL game, he was in a fight with Ted Green of the Boston Bruins; Ferguson won the fight. It was said that his unexpected retirement in 1971 caused problems for the Canadiens, who then started getting roughed up by other teams. Rumours persisted that General Manager Sam Pollock wanted to bring him out of retirement. Ferguson was also a potential offensive threat. Playing on a line with Beliveau, Ferguson led all NHL rookies in scoring in his first season and finished as runner-up for Calder Trophy in 1963–64. The 5-foot-11, 190-pound left-winger also scored the Stanley Cup-winning goal in 1969, during a season that saw him score a career-high 29 goals with a plus-30 rating. In 85 post-season games, he scored 20 goals and added 18 assists. He also earned two selections to the NHL All-Star Game. During his playing career, he won the Stanley Cup five times: in the years 1965, 1966, 1968, 1969, and 1971, and always earned more than 100 penalty minutes in a regular season.
Ferguson was coach for the Sorel Titans, one of six semi-professional Quebec Lacrosse League clubs that played in the 1960s. In supporting the league, Ferguson told the Victoria Times Colonist newspaper: "I hope both ends of the country can bring the game out of the bushes and bring back an interest. Lacrosse needs expansion."
Post-playing career
In 1972, he became the assistant coach of Team Canada who defeated the Soviet team in the Summit Series. Ferguson gained some notoriety because he asked Bobby Clarke to take out Soviet star Valeri Kharlamov with a slash to the latter's ankle. Ferguson later justified his orders saying "that guy is killing us." In the years to follow, he became the head coach and later general manager of the New York Rangers. He lured Anders Hedberg and Ulf Nilsson away from the Winnipeg Jets of the World Hockey Association in 1978 to the Rangers. Both were considered to be the Jets' best players, and among the best in the WHA as a whole. Ferguson stopped coaching in 1977, and was fired as general manager in 1978, at which time he became the general manager of the Jets in the WHA and, starting in 1979, the National Hockey League. He worked for the Ottawa Senators in the early 1990s as director of player personnel. He is credited with finding Daniel Alfredsson for the Senators. He was a special consultant to the general manager of the San Jose Sharks.
Later years and death
Ferguson lived in Windsor, Ontario in his later years to be close to horses. He served as GM for the Windsor Raceway in 1988. In September 2005, Ferguson was diagnosed with prostate cancer. He died on July 14, 2007. Ferguson was survived by his wife Joan and children John Jr., Catherine, Chris and Joanne.