Napoli followed with a single and two outs later, he raced home from first on Andrus' single to right. First baseman Eric Hosmer's relay throw to the plate was in plenty of time, but it was high and Napoli slid under Brayan Pena's tag. Pena slammed the ball down after Napoli was called safe.
Alcides Escobar had given the Royals a 6-5 lead with a sacrifice fly in the ninth.
Arthur Rhodes (3-2) retired one batter in the ninth for the win.
With the game tied at 5, Chris Getz led off the ninth against Neftali Feliz with a double. The ball eluded right fielder Cruz for an error, allowing Getz to take third, and Getz scored on Alcides Escobar's fly to left for the lead.
The Royals carried a 5-3 lead into the eighth, but Michael Young's two-out, two-run homer into the right field seats on Aaron Crow's 3-0 pitch pulled the Rangers even.
After crossing the plate, Young smiled and pointed toward former President George W. Bush in box seats to the left of the Texas dugout. Bush lifted his cap in acknowledgment.
Bush lives in the Dallas area and attends several Rangers games each season.
Pena continued to thrive in Texas, hitting another homer. All three of his homers this season have been three-run blasts, all on the road against the Rangers.
Royals rookie Danny Duffy allowed three runs and five hits in six-plus innings in his third big league start. The left-hander struck out four and exited after issuing his first walk of the day to Adrian Beltre leading off the seventh.
Young's homer saved saved Texas' Alexi Ogando from his first defeat as a starter — he is 5-0.
Ogando yielded only one hit in the first four innings, but lost command in the fourth when the Royals scored five times.
The converted reliever gave up five runs and seven hits in six innings with four strikeouts and one walk in his 10th big league start.
Ian Kinsler homered for the Rangers, but was ejected in the fifth by home plate umpire Mike Estabrook for tossing his bat after a called third strike.
Young led off the second with a double and scored on Napoli's two-out double.
Kinsler's one-out bases-empty homer in the third — his seventh — made it 2-0.
Pena also hit a three-run shot in the 14th inning of Friday night's 12-7 win over Texas.
Napoli led off the fifth with his eighth homer to reduce the deficit to 5-3.
NOTES: RHP Felipe Paulino has been inserted into the Royals rotation replacing RHP Nate Adcock, who moves into a long relief role. Paulino, acquired in a trade with Colorado last Thursday, will start Wednesday against the Los Angeles Angels. ...Ogando has gone at least six innings in all 10 starts. ... Rangers RHP Brandon Webb will be limited to 60-75 pitches in Monday night's rehab start for Double-A Frisco, his first appearance in an official game since his opening day start for Arizona on April 6, 2009. Webb is trying to come back from right rotator cuff surgery. ... CF Julio Borbon will also begin a rehab assignment as the DH for Frisco in the same game, then he'll join Triple-A Round Rock for six games. Borbon is on the 15-day DL with a sore left hamstring. ... A total of 544 dogs and their owners were among the crowd of 45,011 on hand for the club's annual "Bark in the Park" promotion.