BALTIMORE -- Everth Cabrera has been struggling at the plate recently, but the San Diego shortstop came through at the right time on Tuesday night.
Cabrera lined a tiebreaking single to center off Baltimore closer Jim Johnson to cap a two-run rally in the top of the ninth inning and give the Padres a 3-2 victory over the Orioles in the series opener at Camden Yards.
When Cabrera came up in the ninth, he was 2 for 25 in recent games. Chris Denorfia already had a tying single off Johnson in the ninth, and Cabrera walked to the plate with two on and two outs.
The shortstop lined a single to center that easily scored Denorfia with the winning run.
"I waited for that moment right there in that situation," Cabrera said. "He threw me a good sinker, down and away, and I put a good swing (on it)."
The single ended a three-game San Diego losing streak-and was hit No. 60,000 in team history. The Padres (17-21) dropped all three games at Tampa Bay last weekend, but manager Bud Black said his team continues to improve after a slow start.
"All in all, we're playing much better than we did the first three weeks," Black said. "We're in games; now if we sustain some clutch hitting and clutch pitching, we'll be fine."
Johnson (1-3) had been more than fine for Baltimore since last year in save situations. He'd set a club record by converting 35 straight -- dating to the 2012 regular season -- before coming in here.
The Padres were aggressive, getting singles from Yonder Alonso and Mark Kotsay on Johnson's first two pitches. Jedd Gyorko grounded into a double play, which moved Alonso to third, before Denorfia's tying single.
Johnson then hit Nick Hundley, which moved Denorfia to second and brought up Cabrera, who was 0 for 4 at that point. But Johnson couldn't finish it.
"As soon as I got off the field, I looked and pitches were in different spots than they're normally at," Johnson said. "It's about execution. At this level, the talent is too good. You have to execute, and tonight I didn't and wasted a good effort from a lot of guys on this team."
Huston Street came on in the ninth for his ninth save. Street was especially happy to get out on the mound again because of what happened in his last appearance.
The right-hander came on in the ninth inning at Tampa Bay on Saturday and retired the first two Rays. But Street then gave up a walk and Evan Longoria's two-run walk-off homer for an 8-7 Tampa Bay win.
"It bugged me and so tonight was one I really wanted," Street said. "And I was excited when it was kind of eerily similar. That's what this game is all about, bouncing back. It's not worrying about the past."
Luke Gregerson (2-2) got the win after closing out the eighth.
The Padres hadn't done much offensively because of Orioles starter Chris Tillman. He struggled through the first part of the game before settling down in the fourth. Tillman retired the final two batters in the inning and the next nine to make it through seven innings.
Tillman threw 112 pitches, allowing one run and four hits with seven strikeouts. He needed 82 pitches to get through four innings and just 30 in the last three innings.
But Padres starter Andrew Cashner matched Tillman, going 7 1/3 innings and giving up two runs and five hits and keeping the Orioles (23-16) quiet throughout.
Carlos Quentin gave San Diego an early lead when he led off the second with a home run to left. He lined an 0-1 pitch into the seats off Tillman to put the Padres in front 1-0.
San Diego threatened later in the inning, loading the bases with two outs before Tillman struck out Cabrera to escape more damage.
The Orioles tied the score in the third when Ryan Flaherty led off with a homer to left off Cashner.
Flaherty, who entered the game with a .131 average, homered on a 1-1 pitch. The Orioles then took a 2-1 lead in the eighth on a Steve Pearce RBI single before the Padres turned it around in the ninth.
NOTES: Orioles LHP Wei-Yin Chen was placed on the 15-day disabled list, retroactive to May 13, with a right oblique strain. Chen got hurt during his winning five-inning effort Sunday in Minnesota. ... The Orioles called up RHP Alex Burnett and INF Yamaico Navarro after making the Chen move. Baltimore had a vacant roster spot after demoting LHP Mike Belfiore on Monday. Burnett is in his third stint with the Orioles this season, Navarro his second. ... This is only the second time the Padres ever have played in Baltimore. The other time came in 2002. The teams meet again in a two-game series Aug. 6-7 in San Diego. ... Alonso and Cabrera have played in all 38 of San Diego's games this season.