Orioles 4, Indians 3
''That wasn't the way we drew it up,'' Johnson said after preserving Baltimore's fifth straight victory. ''I really was just trying to find a way to get out of it.''
It was Johnson's 30th save - most in the majors - in 32 chances.
The Orioles will go for a season-high sixth straight win and try to complete their first four-game sweep in Cleveland in 41 years on Monday. The last time they did it, in September 1971, Mike Cuellar, Pat Dobson and Jim Palmer all earned their 20th wins in the series. Dave McNally already had 20 wins, making Baltimore the last team with four 20-game winners in one season.
Cleveland has lost four in a row and seven of nine, falling 4 1/2 games behind AL Central leader Detroit.
The Indians have been shut out twice in 10 games since the All-Star break and are one game under .500 for the first time since they were 3-4 on April 14.
''We continue to struggle offensively, but the sun is going to come up tomorrow,'' manager Manny Acta said. ''We still have over 60 games to go. Things can change in a heartbeat. Every day is a new day.''
Zach Britton (1-0) pitched six shutout innings, J.J. Hardy drove in three runs and the Orioles held a 4-0 lead entering the ninth.
''Luis pitched really well, he just ran out of gas,'' Orioles manager Buck Showalter said. ''We had our work cut out for us that inning against some good hitters.''
''I didn't have a matchup I liked,'' Johnson said. ''I pitched around Choo and knew I still had a base open if I needed. I just had to get that one out.''
Showalter liked how Johnson stepped up with the game on the line - and the way Britton worked out of a bases-loaded jam in the sixth by striking out Santana.
''All our guys made big pitches,'' Showalter said. ''You can doubt yourself, but when it hurts the most is when you go back to the hotel or apartment and say, `I wish I hadn't been so timid there.' Go after them. They did.''
Hardy added an RBI single against reliever Esmil Rogers in the seventh.
Wilson Betemit's 11th homer, off former Orioles reliever Jeremy Accardo, made it 4-0 in the eighth.
Britton went 11-11 as a rookie a year ago, but opened this season on the disabled list with a sore shoulder. In 10 starts in the minors, he was 5-1. He walked a career-high six on Tuesday in a no-decision against Minnesota in his return to the Orioles.
He made 26 pitches in the sixth, walking Choo, giving up a one-out bunt single to Jason Kipnis and walking Brantley with two outs before throwing a called third strike past Santana, who had singled and doubled his first two times up.
''I nibbled too much there,'' Britton said. ''The rest of the time, I just aimed the sinker at the middle of the plate and let it break to the corners.''
Tomlin settled in after a rocky first inning in which he made 28 pitches and gave up four hits. He allowed four hits over the next five scoreless innings and didn't walk a batter. He has issued only one base on balls over his last 21 2-3 innings.
NOTES: RHP Roberto Hernandez, the former Fausto Carmona, apologized to the Indians and their fans for playing under an assumed name and falsifying his age since signing with Cleveland in 2000. He is expected to start a rehab assignment in the minors next week as he serves a three-week suspension by Major League Baseball. ... Showalter said he will give Hardy a rest Monday and start INF Omar Quintanilla, who came in as a defensive replacement Saturday. Quintanilla was acquired from the New York Mets for cash on Friday. ... Orioles 2B Ryan Flaherty, who homered Friday and Saturday, made his third straight start. ... Cleveland fell to 10-18 against the AL East; Baltimore is 16-10 vs. the AL Central. ... Markakis is hitting .364 (16 of 44) in his last 10 games.