MINNEAPOLIS — The bases were loaded with no outs in the bottom of the ninth, and Wade Davis was staked to a three-run lead for the Kansas City Royals.

He turned up the heat and sent down the Minnesota Twins.

Salvador Perez hit a two-run homer, Lorenzo Cain had four hits and two RBIs, and the Royals picked up where their bats left off the night before to build a 7-4 victory over the tumbling Twins 7-4 on Tuesday.

Davis worked a wobbly ninth for his 12th save in 13 attempts, preserving the seventh win for the Royals in their last nine games despite a leadoff double by Eduardo Escobar preceding consecutive walks. Davis struck out Eduardo Nunez and Joe Mauer and finished with a routine fly out by Miguel Sano.

"Wade, when he gets his back up against the wall, it's kind of like, 'That's it,'" Royals manager Ned Yost said, adding: "It's just that closer in him. The tighter the situation, the better he is."

The Royals (24-21) raised their two-game total in Minnesota this week to 30 hits and improved to 5-0 against the Twins this season. The start for the defending World Series champion Royals was slow, particularly at the plate, and now Alex Gordon is out for a while. But the trip to Target Field has triggered a surge.

"We try to keep the line moving. That's been the motto the last few years," Cain said.

After going 5 for 5 in the series opener, missing the cycle by a home run, Perez went deep just one day and a couple of innings too late. The three-time All-Star catcher followed a leadoff walk by Kendrys Morales in the second inning with a soaring drive off his 2013 teammate Ervin Santana that landed in the grass behind the wall in centre field for a 2-0 lead.

"They just started hacking," Santana said.

Said Twins manager Paul Molitor: "They make it tough. They have a lot of long at-bats. They foul pitches. They put balls in play, and they find holes."

Edinson Volquez (5-4) picked up his fifth victory, matching the cumulative total for Twins starters this season.

Volquez has given up four or more runs in four of his last six turns, and he surrendered six hits and three walks in 6 2/3 innings in this one. The right-hander struck out six, though, and was stuck with two unearned runs in the fourth from an error on right fielder Paulo Orlando.

"We're putting together a lot of different things we didn't do before we started winning," Volquez said.

Escobar had three hits, but the Twins lost to the division rival Royals for the eighth straight time at home. They fell to 4-19 against the American League Central this year, including an astounding 0-17 against Chicago, Detroit and Kansas City.

Santana (1-3) lasted only 3 2/3 innings, allowing nine hits, six runs and two walks in the second time this month he failed to finish the fourth inning.

SURGING ROYALS

Perez has a 10-game hitting streak, batting .415 (17 for 41) during that stretch. He's a .415 career hitter (22 for 53) at Target Field. Orlando has an eight-game hitting streak, with a .567 batting average (17 for 30) during this span.

"We know what kind of talent we have in here. I feel like it was just a matter of time for us to click together, swing the bats together, and get hot at the same time," said Cain, who matched his career high for hits and raised his all-time batting average at Target Field to .333 (33 for 99).

TRAINER'S ROOM

Royals: Cheslor Cuthbert played 3B for Mike Moustakas, whose status was again day to day with a bruised knee.

Twins: Sano moved to DH to give Byung Ho-Park, who ended an 0-for-21 skid with a single on Monday. Sano struck out three times.

UP NEXT

Royals: RHP Dillon Gee (1-0, 2.90 ERA) will make his third start of the season on Wednesday, after picking up his first victory with Kansas City on Friday.

Twins: RHP Tyler Duffey (1-3, 3.30 ERA) will take the mound in the matinee to finish the series, after allowing a season-high six runs to Toronto on Friday.