MINNEAPOLIS -- Josh Willingham returned to Target Field and hit a bases-clearing double in Kansas City's five-run fourth inning, and the surging Royals hung on to beat the Minnesota Twins 6-5 on Friday night.
Danny Dufy (8-10) allowed three runs in 5 1-3 innings to win his third straight start. Kansas City has won 11 of 12 and sits atop the AL Central.
Oswaldo Arcia hit an RBI double in the ninth and pinch-hitter Chris Parmelee drove him in with a groundout to cut the Royals' lead to 6-5. But Greg Holland struck out Danny Santana for his 37th save in 39 chances.
After Minnesota took a 2-0 lead in the third, the first six Royals hitters reached base to start the fourth off Ricky Nolasco (5-8). Willingham, traded by the Twins to the Royals four days ago, drilled a bases-loaded double down the left-field line to make it 3-2.
Two batters later, Alcides Escobar tripled to score Willingham and Mike Moustakas. Escobar also blooped an RBI single in the eighth to make it 6-3.
Nolasco made his first start since going on the disabled list July 8 with an elbow strain. He struck out three and looked sharp in every inning besides the fourth.
The right-hander signed a four-year, $49 million free agent contract in the offseason, the richest free agent deal in Twins' history, and now has a 5.99 ERA.
After Duffy was removed, Aaron Crow and Francisley Bueno finished the sixth inning before Kelvin Herrera, Wade Davis and Holland preserved the victory.
That trio has allowed only four runs over the last 44 1-3 innings, including two by Holland on Friday. The Royals are 19-4 over that span.
Kurt Suzuki had three hits for Minnesota.