Während seiner Juniorenzeit spielte er für die Flin Flon Bombers in der WCJHL gemeinsam mit Bobby Clarke. Er war zweimal Torschützenkönig der Juniorenliga. Dies war Grund genug für die Boston Bruins ihn beim NHL Amateur Draft 1970 in der ersten Runde als Gesamtdritten auszuwählen.
Bei den Seals schaffte er in zwei aufeinanderfolgenden Jahren über 20 Tore zu erzielen. Zur Saison 1974/75 wechselte er im Tausch unter anderem für Al MacAdam zum amtierenden Stanley-Cup-Sieger den Philadelphia Flyers. In einer Reihe mit Bobby Clarke und Bill Barber erzielte er 45 Tore und konnte auch seinen Teil zur Titelverteidigung beitragen. Auch in den Playoffs 1975/76 erreichte er mit den Flyers die Finalserie. Auch wenn sein Team gegen die Montréal Canadiens unterlag, war er der überragende Spieler der Endrunde. Mit 19 Toren stellte er einen bis heute gültigen Rekord auf und wurde mit der Conn Smythe Trophy ausgezeichnet. Ein seltener Erfolg für einen Spieler aus der unterlegenen Mannschaft. Schon in der regulären Saison hatte er mit 61 Toren eine persönliche Bestleistung aufgestellt.
Er stand im Kader der kanadischen Nationalmannschaft beim Canada Cup 1976. Bei den Flyers übernahm er zunehmend auch defensive Aufgaben, dennoch traf er in der Saison 1979/80 50 Mal. Er erreichte noch einmal die Finals um den Stanley Cup, unterlag dort aber den New York Islanders.
Für die Saison 1982/83 wechselte er zu den Detroit Red Wings, bei denen er nach einer Spielzeit seine NHL-Karriere beendete.