Toronto's previous home win came April 6 in the wrap-up of a three-game sweep of Boston.
McGowan (1-1) pitched a season-high seven innings, allowing two runs and seven hits. He said the Blue Jays didn't let their home slide affect their confidence.
"You don't see the guys down or anything," McGowan said. "We're still playing hard. We knew eventually we were going to come out of it. Now it's just time to get on a roll and go with it."
The 26-year-old right-hander improved to 9-3 in his past 14 starts at Rogers Centre.
"Their guy was real good," Tigers manager Jim Leyland said. "We didn't get a whole lot. We had a couple of chances and we couldn't get a big hit."
"(Ryan) hides the ball really well so it kind of just gets on you," Raburn said.
Bonderman (1-2) said his slider was working well in the bullpen but disappeared once the game began.
"I really didn't have much," Bonderman said. "I was kind of all over the place. My breaking ball was flat and didn't have a lot of movement on it. That makes for a long day. I tried to use other pitches but when you can't throw one of your bread and butter pitches for a strike, it makes it hard."
Bonderman walked six, one of them intentionally, in five innings, and struck out two.
"He labored all day," Leyland said. "He just wasn't sharp."
One of the sliders Bonderman did throw left the park when Rios hit a solo homer to left in the first. It was his second home run this season.
"At the beginning of the game he hung a few," Rios said. "That was the key for us. We knew what was going on and we were aggressive, but at the same time we were patient. We made him throw a lot of pitches and we took advantage of him."
"That inning could have been disastrous," Leyland said. "We were fortunate to get that double play. That doesn't happen very often."
Toronto scored again in the fifth when third baseman Miguel Cabrera couldn't handle Vernon Wells' bouncer. The ball glanced off Cabrera's thigh for his fifth error of the season, and allowed Aaron Hill to score from second.
The Tigers made it 3-2 in the seventh on Rodriguez's sacrifice fly. McGowan stranded runners at the corners by grabbing a hard bouncer from Clete Thomas and throwing to first for the out.
The Blue Jays benched designated hitter Frank Thomas, who is hitless in 13 at-bats and 4-for-35 since homering in three straight games from April 5-8. Matt Stairs started for Thomas and went 2-for-3 with an intentional walk.
Thomas did not shake hands with his teammates after the game and left the clubhouse without speaking to reporters.
The Tigers are 0-10 when they score four runs or less. ... SS Edgar Renteria went 0-for-4, ending an eight-game hitting streak. ... 3B Scutaro made a leaping catch to retire pinch-hitter Marcus Thames in the eighth ... Detroit 2B Placido Polanco (stiff back) got the day off and was replaced by Raburn. Polanco is expected to play the final two games of this series. ... Inglett started in place of OF Shannon Stewart (sore groin), who was a late scratch.