TORONTO -- Almost half of Kris Benson's wins have come against one of the best-hitting teams in the majors.
Toronto entered the game with a major league-leading .301 average that fell to .299.
Benson (7-5) allowed three runs and five hits in six innings, winning for the first time in five starts and improving to 3-1 in four outings against the Blue Jays this season.
"It's never easy facing these guys," Benson said. "I've had decent success against these guys so I really didn't want to change much. It comes down to executing pitches.They are quality hitters over there. They have the best batting average in the league."
Benson struck out six and walked three. He has a 3.16 ERA against Toronto this year.
"He pitched pretty well tonight. He had trouble with one guy. He handled the rest of the lineup pretty well," Baltimore manager Sam Perlozzo said.
Alex Rios homered twice for the Blue Jays, who dropped their third straight - matching their longest skid of the season.
"It came down to Benson. The four games he's started against us, he's pretty much shut us down," Toronto manager John Gibbons said. "He keeps us off balance. The way he was pitching you knew it was going to be tough to come back. He's been very good, so we'll let that one go."
Brian Roberts hit a two-run triple and Nick Markakis added a two-run single off rookie starter Casey Janssen. Hernandez's solo shot against Scott Schoeneweis in the seventh gave the Orioles a 6-3 lead.
It was the fourth time Benson and Janssen faced each other. Janssen (5-4) lost for the first time since May 12. He gave up five runs and eight hits in 3 1/3 innings, the shortest start of his career.
"It was a struggle. I left a lot of pitches up and they hammered them," Janssen said. "It'll be nice to finally face another team. They're a good club."
Rios provided nearly all the offense for the Blue Jays, going 2-for-2 with two walks and three RBI. He hit a leadoff drive in the first, Toronto's third leadoff shot this season, then added a two-run homer in the fifth, his 14th. It was the first multihomer game of his career.
But the Orioles roughed up Janssen, who lost for the first time in six starts. He walked none and struck out four.
Janssen didn't get any help from first base umpire Ed Hickox, who ruled Corey Patterson safe on a grounder to begin the third. Replays showed that Toronto first baseman Lyle Overbay beat Patterson to the bag, but Gibbons didn't come out to argue.
Kevin Millar singled but was erased on a fielder's choice before Roberts lashed a two-run triple to right-center.
Baltimore chased Janssen in the fourth. Miguel Tejada, Jay Gibbons and Hernandez led off with consecutive singles, and Patterson popped out before Millar drove in a run when he was hit by a pitch. Markakis followed with his two-run single.
Trailing 5-3, the Blue Jays put runners at first and third with two outs in the sixth, but Benson got Zaun to fly out.
Hernandez opened the seventh with his 10th homer.
Recalled from Triple-A Syracuse earlier in the day, Toronto's Russ Adams played second base for the first time in his major league career. He handled the only ball hit his way, a fourth-inning popup, but went 0-for-4 at the plate.
- Injured starter A.J. Burnett (sore right elbow) tossed five hitless innings in a rehab start with Syracuse. Burnett walked one, struck out seven and didn't give up a run. He's expected to make one more rehab start before rejoining the Blue Jays' rotation at Atlanta on June 22. Before the game, the Blue Jays activated John McDonald from the 15-day disabled list and recalled Adams. To make room on the roster, Toronto released infielder Edgardo Alfonzo and sent infielder Luis Figueroa outright to Syracuse. The Orioles also made a roster move, activating Jay Gibbons from the 15-day disabled list and optioning infielder Ed Rogers to Triple-A Ottawa.