Wilson was originally signed by the Boston Bruins and rose through their junior system, but was drafted away by the Philadelphia Flyers in 1968 just before turning professional. He would spend two seasons with the Quebec Aces, Philadelphia's AHL affiliate, appearing in a single NHL game for the Flyers in the 1969–70 season.
Exposed in the 1970 NHL Expansion Draft, Wilson was claimed by the Vancouver Canucks. In Vancouver, he received a chance to stick in the NHL full-time as one of three goaltenders carried by the team in their inaugural campaign. His first professional season would be rocky, as he posted a dismal 3–25–2 record in 35 appearances. However, he was recognized as having significant potential, and at age 22 was viewed as the club's long-term starter (Charlie Hodge, the team's main goaltending option that year, was 37).
When Hodge retired following a contract dispute, Wilson became Vancouver's starting goalie for 1971–72, and responded in fine fashion. He appeared in 53 games for the Canucks, posting a 16–30–3 record (his backups went 4–20–5) and a solid 3.61 GAA. In 1972–73, he had another solid year, finishing 13–21–5 with a 3.94 GAA.
In 1973, Vancouver acquired highly rated veteran Gary 'Suitcase' Smith to take over as the team's starting goalie and Wilson, now expendable, was dealt to the Toronto Maple Leafs. He spent nearly two seasons in Toronto backing up Doug Favell before being waived and claimed by the New York Rangers late in the 1974–75 season. He backed up John Davidson for the Rangers in 1975–76, but suffered through a disappointing year, winning just 5 games and being demoted briefly to the minors for the first time since 1970.
Dealt to the Pittsburgh Penguins for a draft pick, Wilson would experience a rebirth in 1976–77. He emerged as Pittsburgh's starting netminder, appearing in 45 games and posting an 18–19–8 record and a sparkling 2.95 GAA along with 5 shutouts. In the process, he was named team MVP by both the franchise and their booster club. However, in 1977–78 his form would desert him, as he lost his starting job to Denis Herron, and posted a 5–11–3 record with a dismal 4.83 GAA.
Wilson started the 1978–79 season in the AHL after being beaten out for the backup job by rookie Greg Millen, but received a homecoming of sorts when he was sold to the Canucks a month into the season. However, his form would be no better in Vancouver as he won just twice in 17 appearances, and he retired at the end of the season.
Following his retirement he sued the Canucks, alleging that they didn't properly treat a mole which turned out to be skin cancer, and which later required extensive surgery to remove, helping to prematurely end his career.
In 287 career NHL games, Wilson posted an 80–150–33 record along with 8 shutouts and a 3.74 GAA. Although his career record is one of the poorest amongst goalies who have appeared in over 200 games, this is less a reflection of his actual ability than it is of his playing a significant role in the first three seasons of a very poor expansion team.