The teams split a four-game series.
Two home runs by Aubrey Huff helped the Orioles build a 7-3 lead going into the sixth, but the Royals sent 11 men to the plate in that inning and capitalized on a key error.
Guillen walked off Garrett Olson to start the sixth and went to third on Billy Butler's double. One out later, Guillen scored and Mark Teahen reached first on a fielding error by first baseman Kevin Millar.
After Tony Pena singled to load the bases, David DeJesus and Mark Grudzielanek produced RBI singles. Alex Gordon followed with a sacrifice fly and Guillen finished the scoring with his two-run single to shallow center.
Joel Peralta (1-2) worked two innings of one-hit relief to get the victory.
Joakim Soria picked up his 23rd save.