BALTIMORE -- With an assist from the players behind him, Erik Bedard did a fine job of damage control while giving up a season-high 11 hits.
Ramon Hernandez singled in the winning run with two outs in the ninth inning Saturday to give the Orioles a 3-2 victory and extend Tampa Bay's road losing streak to nine games.
Bedard allowed two runs in seven innings, striking out six and walking none. Ten of the 11 hits he allowed were singles, which helped the Orioles keep Tampa Bay within reach while they were trying to generate some offense against Devil Rays starter James Shields.
"I gave up a lot of hits but we had good defense. Without the defense, we probably would have lost a long time ago," Bedard said.
Corey Patterson set the tone by with an excellent running catch on a drive to center by Ben Zobrist, the game's first batter. Jeff Conine made a diving catch in left field and cut down a runner trying to score on a single, and third baseman Melvin Mora also threw out a runner at the plate.
"Without that, we wouldn't be in the game," said Bedard, who lowered his ERA to 3.92 but remained winless in six starts since July 23, when he beat Tampa Bay to win his seventh straight start.
Nick Markakis and Conine homered for the Orioles, who have won seven of 10.
Patterson singled with one out in the ninth off Shawn Camp (6-2), then stole second. After Kevin Millar popped out, Hernandez lined a 3-2 pitch up the middle. Patterson scored standing up, well ahead of the late throw.
"Ramon came through," Baltimore manager Sam Perlozzo said. "It was a great at-bat on his part, a big hit. And Corey, I thought his at-bat to get on and steal was equally important."
Perlozzo expected the Devil Rays to pitch out with the speedy Patterson at first, but it never happened.
"I was just hoping that they wouldn't," Perlozzo said.
Chris Ray (2-4) got three straight outs in the top of the ninth for the win.
Tampa Bay went hitless over the last three innings and fell to 1-17 on the road since the All-Star break. The nine-game road skid matches the second longest in franchise history.
Afterward, manager Joe Maddon lamented his team's missed scoring chances.
"We had plenty of opportunities early in the game, I thought, that we did not take advantage of. That just seems to be the mantra of the road," he said. "It's a road deal, man. We've just got to start finishing these babies off. If we keep pitching like this, I think the big hits are going to show up."
Shields, bidding to win his third straight start, gave up two runs and five hits in seven innings. It was the fifth successive appearance in which the rookie allowed three runs or fewer.
"Shields pitched great. He was going along very well," Maddon said.
Tampa Bay took a 1-0 lead in the third inning, but was left wanting more. With runners at first and second and two outs, Greg Norton singled in a run. Jorge Cantu followed with the fourth hit of the inning, but Carl Crawford was thrown out at the plate by Conine.
The Devil Rays added a run in the fourth. Travis Lee hit a one-out single, took third on a single by Josh Paul and scored when Zobrist lined a two-out single off Bedard's shin.
Markakis homered in the bottom half, Baltimore's first hit. He has 12 homers, seven in his last 10 games.
Tampa Bay botched a chance to pad the lead in the sixth. After Damon Hollins singled and took third on a one-out double by Josh Paul, Mora picked up Tomas Perez's grounder to third and threw out Hollins at the plate. Zobrist then hit into a fielder's choice.
Conine homered in the seventh to tie it at 2. It was his ninth homer and first since July 26.
- Before the game, 3B Doug DeCinces and C Chris Hoiles were inducted into the Orioles Hall of Fame.
- Bedard twice before permitted 10 hits in a game.
- LHP J.P. Powell will start for TB on Sunday. He replaces Scott Kazmir, who was placed on the 15-day disabled list Friday night with shoulder stiffness.