Ashton played his junior hockey for his hometown Saskatoon Blades and following a 119-point season in 1978–79 was selected in the second round of the 1979 NHL Entry Draft by the Vancouver Canucks. He stepped straight into the Canucks' lineup at the age of 19 in 1979–80. Although he tied an NHL rookie record with a 4–assist game against the Atlanta Flames, he was used sparingly and finished the year with 5 goals and 19 points in 47 games. In 1980–81, he improved to 18 goals and 29 points, but at the conclusion of the season was traded to the Colorado Rockies in a three-way deal. In Colorado, Ashton received more icetime and responded in fine style, leading the Rockies with 36 assists and 64 points in 1981–82. For 1982–83, the franchise moved to New Jersey and became the New Jersey Devils, and Ashton slumped to just 14 goals and 33 points in 76 games. Ashton was dealt to the Minnesota North Stars for the 1982–83 campaign, but struggled to get icetime on a deep North Star squad, and suffered through the worst season of his career, finishing with just 7 goals and 17 points. He was again struggling to start the 1983–84 season with just 4 goals through 29 games, but a trade to the Quebec Nordiques would rejuvenate his career. In 49 games after the trade to Quebec, Ashton exploded offensively with 27 goals and 51 points, finishing the year with a career-high 31 goals. He would turn in another solid season in 1984–85, finishing with 26 goals and 58 points. Ashton would get off to a blistering start to the 1985–86 campaign, with 25 goals through 46 games, but in what would become the story of his career was traded mid-season to the Detroit Red Wings despite recording 78 goals in just 172 games as a Nordique. Ashton continued to score frequently in Detroit, finishing the season with a career-high 40 goals and 75 points, and added 13 points in 16 playoff games as the Red Wings reached the Campbell Conference finals. In 1987–88, he turned in a respectable 26 goals and 53 points and had another strong playoff performance with 7 goals and 12 points in 16 games as Detroit again reached the conference finals. For the 1988–89 season, Ashton was on the move again, this time to the Winnipeg Jets. He turned in 31 goals - his 5th straight year with at least 25 goals - and a career-high 37 assists for 68 points, and at the conclusion of the season helped Canada to a silver medal at the 1989 World Championships. Ashton would have the longest stay of his NHL career in Winnipeg, spending three full seasons with the Jets. He turned in another 20 goal season in 1989–90, but as he moved into his 30s injuries took their toll and his production began to fall off. After a poor start to the 1991–92 season, he was dealt to the Boston Bruins, where he rebounded to finish with 18 goals and 40 points. However, the following year he would struggle with just 2 goals in 26 games for the Bruins and was assigned to the minors for the first time in his 14-year career. He was eventually traded to the Calgary Flames, and finished out the year strongly with 19 points in 32 games as a Flame. Unable to get an NHL contract for the 1993–94 campaign, Ashton signed with the Las Vegas Thunder of the International Hockey League and was playing well until suffering a career-ending knee injury in November. The injury occurred just as he was about to sign with the Los Angeles Kings, who would have been his 10th NHL team. In 998 career NHL games, Ashton scored 284 goals and added 345 assists for 629 points, along with 635 penalty minutes. He was traded an NHL-record 9 times during his career. His record was later tied by Mike Sillinger.
Personal life
Following his career, Ashton returned to his hometown of Saskatoon where he operates Brent Ashton Sportswear, as well as coaches minor hockey. His brother, Ron Ashton, was also a professional hockey player, appearing for the Winnipeg Jets during their WHA incarnation. Ashton is married with two sons, Taylor and Carter, who is also a professional hockey player, playing for Dinamo Riga of the Kontinental Hockey League.