CLEVELAND, JULY 20 -- The Baltimore Orioles and Cleveland Indians were so wasteful tonight, Cleveland Stadium could have been declared an environmental hazard.

But Orioles, who left 14 of 19 runners on base, came away with a 3-1 victory when Randy Milligan's tiebreaking home run keyed a two-run ninth and Cleveland then failed to score after putting runners on second and third with none out against Gregg Olson.

Playing the lead for Baltimore was starting pitcher Pete Harnisch, but Olson, catcher Mickey Tettleton and first baseman Milligan were more than supporting players. Each had a starring role in ending a Cleveland winning streak at four games.

Milligan went three for five with two runs scored and the bases-empty home run with one out in the ninth that made the score 2-1. Baltimore turned three singles into another run, and Olson entered at the start of the Indians' ninth although Harnisch (7-3) had given up only five hits and one walk on an economical 84 pitches.

And once Olson stepped in, that's where Tettleton stepped in. He prevented two runs by blocking three bouncing curveballs.

"I never said it would be easy," Orioles hitting coach Tom McCraw said, "but I'm getting too old for this stuff."

The Orioles left seven runners on base in the first three innings without scoring against knuckleballer Tom Candiotti. They also left the bases loaded in the seventh, when Candiotti was replaced by Jesse Orosco. For the game, Baltimore was two for 13 with runners in scoring position; hitless in four at-bats with bases loaded, with Cal Ripken once fouling out and once lining out.

All of that activity, including two singles and two stolen bases by Donell Nixon in his first game up from Rochester, enabled the Orioles to reclaim the major league lead in runners left on base from the Philadelphia Phillies, who passed them Tuesday night. Baltimore now has left 523 runners, Philadelphia 518. The Boston Red Sox, with 495, were the only other AL team with more than 480 going into tonight.

"I'm into the game when I'm pitching, so I noticed" all the runners left, Harnisch said. "I knew we'd had our chances and didn't take advantage, but I didn't worry about it. I said, 'I have to keep these guys {the Indians} down.' "

He faced three batters in every inning but the sixth, when Cleveland tied the score at 1 on three consecutive singles.

"Outstanding," said Manager Frank Robinson. "That's the only way to describe it."

Said Milligan: "I would have hated to see him lose after he pitched so well."

So, with one out in the ninth, Milligan hit an 0-2 breaking ball from Orosco (3-3) over the left-center field fence for his 11th homer.

"It was a pretty good breaking ball, but I caught it before it could get in on me," said Milligan, who is batting .431 in his last 14 games with 5 homers, 11 runs scored and 18 batted in.

"A solo," Robinson muttered. "Of course. That's us."

Tettleton singled and Orosco was replaced by Cecilio Guante. Brad Komminsk flied out, but Ripken and Tim Hulett singled to bring home Tettleton and make it 3-1.

Enter Olson. After allowing the winning run in the eighth inning of Cleveland's 5-4 victory Tuesday night, it seemed inconceivable he could lose again.

But Jerry Browne led off with a single. Felix Fermin, who had doubled against Olson on Tuesday, was pinch-hit for by Dion James. James singled and Browne moved to third. Stan Jefferson ran for James.

With the count 1-1 to Sandy Alomar, whose single off Olson was the Tuesday game-winner, Jefferson stole second without a throw as Olson bounced a curveball at the plate and Tettleton blocked it. Olson stepped off the mound to collect himself and struck out Alomar on two more pitches.

"I haven't been concentrating as much as I want to be," Olson said. "I think that's been the key lately. I haven't had the feeling to really just kill. I got that with men on second and third and no outs, but that's the way I need to be all the time."

With Candy Maldonado at the plate, Tettleton blocked two more bouncing pitches as Olson ran the count to 3-2.

"You anticipate balls in the dirt, especially with Oley," Tettleton said. "It's a play that doesn't show up in the box score but you know your teammates appreciate it."

After fouling off a pitch, Maldonado struck out trying to check his swing at a high fastball that probably would have been a ball. That brought up Ken Phelps, a dangerous left-handed batter with home run power who, as a member of the Athletics earlier this season, broke up Seattle Mariner Brian Holman's bid for a perfect game by homering with two out in the ninth.

He lashed a 2-1 curveball toward right-center, but Mike Devereaux ran it down. Olson had his 15th save in 16 opportunities this season.

It made a winner of Harnisch, who was coming off the shortest appearance of his 33 major league starts -- a 1 2/3-inning stint Friday, when he allowed the Red Sox four runs on six hits and three walks.

"I was itching to get back out there and get the ball again," he said. "There was a little bit of doubt because of the way I pitched last time, and if you pitch poorly twice in a row, you get a question mark by your name. I think I asserted myself a little bit more."

He retired 14 of the first 16 men he faced. For his effort, he had a 1-0 lead that looked particularly anemic because even when the Orioles scored in the fifth, it was not without a big hand from Candiotti, who already had provided five walks.

Milligan singled with one out. With Tettleton at the plate, Candiotti made a low pickoff throw that bounced past first baseman Brook Jacoby. Milligan took second. He scored from there on Joe Orsulak's two-out single to right.