Toronto has won five straight, equaling a season high.
Purcey's performance came on the same day the Blue Jays announced McGowan will have season-ending surgery to repair fraying of the labrum in his right shoulder.
"That's a big-time loss," infielder Joe Inglett said. "He's a great pitcher."
McGowan, who has not pitched since July 8, will undergo surgery Thursday and is expected to be healthy in time for spring training.
"With Dustin out we need someone to step up and Purcey did today," manager Cito Gaston said. "If he can go out and continue to pitch like he did today -- give us a chance to win the ballgame, that's what he did. He gave us more than a chance."
Purcey (1-1), who made two spot starts for Toronto earlier this season, gave up three runs and seven hits in six innings. He walked one and struck out four.
Knowing he'll be around for a while, instead of bouncing back to Triple-A, makes life easier on Purcey.
"It's really comforting to know they're giving me a couple of games to see how it goes," he said. "That's the best part for me because I've already started my routine for the next five days and it's nice knowing I'm going to be here."
Inglett, who went 3-for-4 with two RBI and scored twice, said Purcey has matured since the two starts he made in April and May.
"You can definitely see the confidence in him," Inglett said. "As soon as he took the mound, you could tell. He was nervous the first couple of starts. Today he got the ball and just started pounding the zone."
Seattle, which has won one of eight since the All-Star break, matched its longest skid of the season. The Mariners also lost seven straight from May 20-26.
Rios hit a solo drive to left in the first inning, then added another solo shot to center in the fifth for the second multihomer game of his career. He also hit two homers on June 12, 2006, against Baltimore.
"He's starting to get that swing back from last year," Gaston said. "He's a big part of this team. We need him to step up and he's stepping up."
Rios hit a career-high 24 homers last season and has eight this year. He finished 2-for-2 with a walk and three RBI and is batting .333 (36-for-108) in his past 25 games.
"I'm a little more relaxed than I was before," Rios said. "That's the biggest part about it."
Toronto has won seven of eight at home and 11 of 15 overall to move two games above .500.
Seattle's Jose Lopez homered and drove in three runs, extending his hitting streak to a career-high 13 games.
"I was just trying to suck up as many innings as I could with mediocre stuff," Dickey said. "I wish I could have gone longer."
Mariners manager Jim Riggleman said Dickey didn't have the "swing-and-miss knuckleball" he sometimes throws.
"On any given day you don't know what it's going to do and today it wasn't at its best," Riggleman said.
Trailing 1-0 on Rios' first-inning homer, the Mariners tied it in the second when Adrian Beltre and Lopez hit back-to-back doubles.
Scott Rolen's sacrifice fly in the bottom half made it 2-1 Toronto, and the Blue Jays added another run in the third when Inglett scored on a wild pitch.
Brad Wilkerson hit a sacrifice fly and Inglett singled home a run as Toronto added two more in the fourth.
Rios' second homer made it 6-1 before Lopez hit a two-run drive to left in the sixth.
Toronto replied with two more runs in the bottom half. Gregg Zaun doubled and scored on Inglett's single, and Rios hit a sacrifice fly.
Ichiro Suzuki singled in the ninth to snap an 0-for-14 slump. He finished 1-for-5. Suzuki has a combined 2,996 hits between the major leagues and the Japanese League. He has 1,718 hits for Seattle.
- Inglett's three hits were a career high.
- The Mariners have lost seven of nine road games.
- Seattle signed RHP Jorge Sosa to a minor league contract. Sosa began the season with the New York Mets, but was designated for assignment May 13.