KANSAS CITY, Mo. – Salvador Perez triggered a go-ahead rally with a double in the sixth inning and made several spectacular plays behind the plate, helping the Kansas City Royals to a scrappy 3-2 victory over the Minnesota Twins on Wednesday night.

Alex Gordon and Mike Moustakas had RBI doubles during the Royals' charge, which wiped away a 1-0 deficit. Jason Frasor earned his first win since arriving in Kansas City by striking out Chris Colabello to leave the bases loaded in the sixth inning.

Scott Downs and Kelvin Herrera gave back a run in the seventh, but Herrera struck out Brian Dozier and Josh Willingham with runners on second and third to preserve a one-run lead.

Wade Davis worked a perfect eighth, and All-Star closer Greg Holland survived two wild pitches that sent Eduardo Nunez to third base by striking out Sam Fuld for his 28th save.

Phil Hughes (10-8) showed no lingering effects from a comebacker off his right ankle that cut short his last outing. He allowed only three singles before the sixth inning, when the Royals were able to finally string together a series of hits that gave them the lead.

Omar Infante led off the sixth with a single and Perez added his double moments later, finally matching Willingham's homer in the second inning. Gordon followed with his RBI double to center, and Moustakas pulled another run-scoring double just inside the first-base line for a 3-1 lead.

The Royals' bullpen and defense made each run seem huge.

Perez made the first of his memorable plays in the third inning, when he picked Nunez off first base with a snap throw. Royals starter Danny Duffy picked Fuld off first in the fourth, and Dozier was thrown out at the plate on a base-running mistake later in the inning.

Perez's best play may have come in the seventh, when he leaped from the behind the plate to grab a sacrifice bunt and throw the runner out at first. Herrera followed with back-to-back strikeouts to leave the go-ahead run standing on second.

Duffy allowed one run, but he gave up four hits and a season-high six walks. He still hasn't won since June 30, a stretch of five starts, though Wednesday night was the first of those starts in which his team scored more than two runs.

TRAINER'S ROOM

Twins: Catcher Joe Mauer (strained right oblique) took batting practice in the cage without any problems. Right-hander Mike Pelfrey began his throwing program after surgery on June 10 to relieve numbness caused by a nerve in his throwing elbow.

Royals: First baseman Eric Hosmer was in the lineup for the second straight night after missing time with a bruised right hand. He finished 0 for 4 with two strikeouts.

ON DECK

Twins: Right-hander Kevin Correia (5-12) attempts to beat the Royals for the first time in 10 career starts. He has a 0-5 record with a 4.91 ERA against them.

Royals: Right-hander Yordano Ventura (7-8) tries to improve his fortunes at Kauffman Stadium, where he is 3-6 this year. His last home win came in relief July 13 against Detroit.