Gordon and Salvador Perez homered, Danny Duffy pitched into the seventh inning and the Kansas City Royals beat the San Francisco Giants 7-4 Sunday for their seventh consecutive victory.

The Royals gave out 10,000 Gordon bobbleheads for the series finale against San Francisco. Gordon, who played his college ball at Nebraska, also homered on Husker Night on Saturday.

"We've got to think of a promotion for tomorrow to keep it going," Gordon said.

The big weekend is part of a nice roll for Gordon, who is batting .350 (14 for 40) with three homers and seven RBIs in his last 11 games.

"Gordy is not swinging the bat well because it is Husker day or because it was bobblehead day," Yost said. "Gordy is swinging the bat well because he is seeing the ball well and putting good swings on it."

The Royals, who won 10 in a row in June, have put together two winning streaks of seven or more games this season for the first time since 1985, the last time they were in the playoffs.

They moved within one-half game of first-place Detroit in the AL Central. The Tigers lost 6-5 to the Toronto Blue Jays in 19 innings on Sunday.

Gordon hit a two-run shot off Tim Lincecum (9-8) in a four-run first. The inning also included Billy Butler's run-producing double and Perez scoring on a wild pitch.

"He was all over the board," Giants manager Bruce Bochy said of Lincecum. "When he threw a strike or threw an off-speed pitch it was up. He regrouped, but it's tough when you get down four runs."

Perez homered off Juan Gutierrez with Nori Aoki aboard in a three-run fourth. Aoki reached base four times — two walks and two singles — and stole three bases.

Jarrod Dyson went 3 for 3 and also swiped a career-high three bases.

Duffy (7-10) allowed four runs and three hits in 6 2-3 innings in winning back-to-back starts for the first time this season. He walked two in the seventh and both scored on an Andrew Susac's double.

"You are really comfortable on the mound," Duffy said after the four-run first. "The offense just keeps doing their job. It's been a lot of fun to watch."

Lincecum, a two-time Cy Young Award winner, was roughed up for six runs and seven hits in 3 1-3 innings. Lincecum, who is winless since July 11, has a 10.59 ERA in his past four starts, giving up 20 runs and 28 hits in 17 innings.

"You just see how far you can go to give your team a chance to fight back and get in the game," Lincecum said.

Wade Davis pitched a scoreless eighth and Greg Holland worked out of a bases-loaded jam in the ninth while picking up his American League-leading 34th save in 36 opportunities.

ON DECK

Giants: After an off day Monday, right-hander Ryan Vogelsong, who has won his past two starts, will pitch Tuesday against the White Sox, the only big league team he has never faced.

Royals: Rookie Yordano Ventura starts the opener of a four-game series with Oakland. Ventura is 4-6 with a 3.39 ERA this season at home.

TRAINING ROOM

Giants: Michael Morse was a late scratch with an ingrown toenail. Gregor Blanco replaced him in left field.

Royals: Luke Hochevar, who had Tommy John surgery in spring training, will begin a throwing program on Sept. 10.

A GIANT MOVE

The Giants recalled first baseman Adam Duvall from Triple-A Fresno. Duvall was among the Pacific Coast League leaders with 26 homers, 84 RBIs and a .596 slugging percentage at the time of the promotion.

Outfielder Juan Perez was sent down to Fresno.

RUNNING ROYALS

The seven stolen bases were one shy of the Royals' record, set on Aug. 1, 1998, against Baltimore. Aoki and Dyson are the first Royals teammates to steal three bases in the same game.

Copyright 2014 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.