Cook began in junior hockey with the London Nationals of the Ontario Hockey League in 1963. He was looked at as a role player that could finish chances when they were given. He continued to develop with the Nationals until midway through his 1965–66 season, when he was traded to the Kitchener Rangers. In only 31 games, Cook put up 72 penalty minutes to go with his 17 points. He also threw in 14 points and 51 penalty minutes in the Rangers 19-game playoff run in which they lost to the Oshawa Generals, featuring a young Bobby Orr. In 1966, Cook turned professional with the Vancouver Canucks, then of the Western Hockey League. Cook appeared in 55 games for the Canucks, registering 7 goals and 14 points, but was ultimately moved to the Rochester Americans for the 1967–68 season. Playing for the Americans, Cook put up the highest point totals of his career. Excluding a brief stint with the Tulsa Oilers of the Central Hockey League, Cook played almost four full seasons with Rochester. He netted 133 points during that span including 44 during the 1969–70 season. However the 1970–71 season would finally see Cook reaching his goal. In 1970, the Vancouver Canucks, who owned the Rochester Americans, were granted an NHL expansion franchise and Cook's rights were transferred to Vancouver. Cook played two games for the Vancouver Canucks, now of the NHL, before the end of the season. After allowing Cook a short reconditioning stint with the Seattle Totems of the WHL, his rights were traded to the Detroit Red Wings for cash on November 21, 1971. Cook again found himself in a team's farm system and he tried to prove himself playing for the Fort Worth Wings of the CHL and the Tidewater Wings of the AHL. After a season in the minors, Cook again got to play in the NHL, when he joined the Red Wings during the 1972–73 season. He played 13 games and put up four points before being traded along with Ralph Stewart for Ken Murray and Brian Lavender to the New York Islanders on January 17, 1973. Cook had his longest stay in the NHL with New York, playing in 55 games throughout the 1972–73 and 1973–74 seasons. His time with the Islanders is notable for his hat trick in a game against his former team, the Vancouver Canucks, on March 3, 1973, when he became the second player in franchise history to record a hat trick as a rookie, a feat duplicated only nine more times in the first 50 years of the franchise. However, Cook netted only 17 points in his season with the Islander and was sent down to Baltimore Clippers of the AHL for the remainder of the season. He again found his form, scoring 19 goals and 19 assists and helping the Clippers into the playoffs. He scored 10 points in the playoffs but the Clippers lost to the eventual champions, the Hershey Bears. For the 1974–75 season, Cook began play with the Fort Worth Texans of the CHL but ended the season with the New Haven Nighthawks of the AHL. The Nighthawks were a minor league team for the Minnesota North Stars of the NHL and Cook was called up to play his last two NHL games with them midway through the season. Those games would be his last and Cook retired at the end of 1975 after helping yet another team reach the finals, but the Nighthawks would fall to the Springfield Indians in five games.
Post-hockey life
After retiring from hockey, Cook returned to London, Ontario, where he died on March 29, 1978 at 32 years of age. He is buried in Cowal-McBrides Cemetery in Elgin County, Ontario.