BALTIMORE -- The Baltimore Orioles issued 12 walks to fall behind, then benefited from three free passes in the ninth inning to win a game that was wild in virtually every sense of the word.
Trailing 7-4, the Orioles rallied against Kansas City closer Ambiorix Burgos (1-1), who began the inning by walking the bases loaded. Jeff Conine followed with a sacrifice fly, and after Corey Patterson struck out, Javy Lopez and Nick Markakis hit run-scoring singles to tie it.
Jimmy Gobble replaced Burgos, and Millar blooped a 3-2 pitch to right to score Lopez on a close play at the plate to complete the 3 hour, 54-minute marathon.
"The walks always end up haunting you," Conine said, "and luckily we haunted them last."
John Halama (2-1) worked the ninth for the Orioles, who earned their first sweep of the season. It was their first home sweep of a three-game series against Kansas City since 1999.
"A win is a win. We'll take it," Baltimore manager Sam Perlozzo said. "They might be ugly, but you'll take every win you can get."
Especially in this unexpected fashion. The Orioles were 1-19 when trailing after eight innings; the Royals were 9-0 when ahead after eight.
"We find all kinds of ways (to lose)," Kansas City manager Buddy Bell said. "I can't explain it."
Baltimore ended up taking advantage of walks, as did the Royals earlier in the game. The 12 walks were the most Kansas City received since drawing 12 at Seattle on June 12, 1995.
Angel Berroa had three hits and drove in a run for Kansas City, which fell to 2-17 on the road and 0-9 against the AL East.
"I don't really have all that much to say about it," Bell said. "Burgy usually comes in and throws strikes. It's unexplainable. It's a tough loss."
Miguel Tejada went 3-for-4 with a homer, and Lopez also had three hits for Baltimore.
With the score tied 4-all in the eighth, Mark Grudzielanek hit an RBI single and Doug Mientkiewicz followed with a run-scoring groundout.
Berroa added an RBI single in the ninth, but the lead wouldn't last, thanks to Burgos' lack of control.
"Their pitcher didn't have the best day and we kind of took advantage of it by being patient," Lopez said.
Even though Millar didn't draw a walk, he worked the count full before delivering.
"He's played in the World Series and everything else. If there is somebody you want up there, he's the guy," Perlozzo said. "He laid off some pitches, he was real patient. He took what he gave him and got the job done for us."
Orioles starter Daniel Cabrera struggled with his control before leaving with tightness in his right shoulder after taking the mound to start the fifth. The right-hander allowed two runs, two hits and seven walks. His first seven pitches missed the strike zone, and half of his 90 pitches were balls.
Cabrera, who will undergo an MRI on Monday, has issued 39 walks in 41 1/3 innings this season. He didn't blame his wildness Sunday on his aching shoulder.
"No, because I walk people all the time. I'm tired of hearing it all the time," Cabrera said. "Walks, walks. I walk people all the time. That's nothing different to me."
Kansas City starter Denny Bautista also was yanked after four innings. The former Oriole gave up three runs, six hits, a walk and hit a batter.
Trailing 3-2, the Royals pulled even in the sixth against Julio Manon. Tony Graffanino walked, stole second and scored on a two-out single by John Buck.
Kansas City took the lead in the seventh when Todd Williams walked Aaron Guiel to force in an unearned run after Tejada dropped a toss from second baseman Brandon Fahey on a potential double-play grounder.
Tejada made amends in the bottom half, tying it at 4 with his 11th homer -- the second in two games.
- The Orioles don't expect to activate 2B Brian Roberts (groin) from the disabled list until Friday. He is eligible to return Monday.
- Kansas City enjoyed its seventh straight errorless game, but failed to hit a homer for the first time in seven games.