After giving up five hits to his first 10 batters, Guthrie did not allow another hit after Ian Kinsler led off the third with a double. Elvis Andrus bunted him to third, but Perez picked off Kinsler with Josh Hamilton at the plate.
"The big momentum shift was the throw by Salvy," Guthrie said. "That was a huge sigh of relief for me. I scuffled up to that point. It gave me a big boost."
Perez leads all major league catchers with three pickoffs this season even though he didn't play until June 22 after having knee surgery in spring training.
"That's a big play," Royals manager Ned Yost said. "You're staring down the barrel of being down 3-0 and you've got an All-Star pitcher on the mound with a tremendous offensive club. To pick a runner off third base and keep it 2-0, you still feel like you've got a chance for something to happen, and it did."
Gordon broke a 2-all tie in the fifth with a two-run shot off Matt Harrison, the third home run he has allowed to a left-handed hitter this season.
"From experience, he likes to pound me in with fastballs," Gordon said. "He does a pretty good job of laying it on the inside corner. It's a tough pitch to hit. I just tried to wait him out and get a pitch out over the plate. I was able to do that and put a good swing on it."
Guthrie (4-3) held the AL West leaders to two runs and five hits. He went 3-9 with Colorado before the Royals acquired him in a July 20 trade for Jonathan Sanchez.
"One play didn't change this game," Rangers manager Ron Washington said. "We just didn't score any runs. We had Hamilton up there with less than two outs. I figured we were going to get that run in."
After Perez's run-scoring double with two outs, Harrison was replaced by Roy Oswalt. It was a rare short night for Harrison (15-9), who has pitched at least eight innings in eight starts. He fell to 10-5 away from home, tied with Tampa Bay ace David Price for the most road victories in the American League.
Harrison allowed five runs, three earned, and eight hits. The Royals scored a pair of unearned runs in the third after an error by Kinsler at second base.
Giavotella connected off Oswalt, ending a drought of 185 at-bats with his first home run since Sept. 3, 2011.
Lorenzo Cain reached on Kinsler's error in the third and scored on Alcides Escobar's double, which snapped an 0-for-21 skid. Escobar went to third on Gordon's groundout and scored on Billy Butler's sacrifice fly.
After getting some help from his teammates, Guthrie cruised.
"When Salvy picked Kinsler off third base and he struck out Hamilton, he really got on a roll from that point," Yost said. "He got settled in, was banging strikes and was extremely sharp. From the third inning on he was fantastic. A phenomenal job by him."
Japan committed to play in the 2013 World Baseball Classic, but Rangers RHP Yu Darvish was non-committal about whether he will participate. Darvish refused to talk about the possibility, but instead issued a statement through the Rangers: "We're in the middle of the season. I have no comment on the issue." ... The Royals recalled RHP Jeremy Jeffress from Double-A Northwest Arkansas. Jeffress did not allow an earned run in 6 2/3 innings in two previous stints this season with Kansas City. ... 1B Eric Hosmer was held out of the Royals' lineup. Hosmer is hitting .224 against left-handers, while Harrison had limited left-handed batters to a .189 average entering the game. ... Rangers C Mike Napoli, who went on the disabled list Aug. 11 with a strained quadriceps, ran on the field for the second consecutive day with cleats. If he has no soreness Wednesday, Napoli could try running the bases. ... LHP Everett Teaford will make a spot start Wednesday for the Royals. He is 3-2 with a 4.95 ERA in seven major league starts. The Rangers will counter with RHP Ryan Dempster.