The Royals, who had not scored in the first two innings in their first seven games, sent nine to the plate in a five-run first. Mike Pelfrey (1-1) gave up hits to the first five batters he faced.
Guthrie (2-0) improved to 7-0 in his past 13 starts dating to last Aug. 8. Guthrie, who has a 2.37 ERA during the stretch, allowed four runs on six hits, including the three home runs, in 6 2/3 innings. The Royals are 12-1 in his past 13 starts.
"He's got a good streak going," Royals designated hitter Billy Butler said. "He definitely didn't have his best stuff and he kept battling and he picked up the win. You've got to tip your hat to him for the consecutive streak he's got going and hopefully we can keep that going for him. In all those consecutive starts, he's thrown the ball really well for the most part. We're glad to have him."
This is the longest undefeated streak by a Royals pitcher over 13 starts since Kevin Appier in 1994-95.
"We have a good chance to win every single time with this offense, with this defense," Guthrie said. "Sometimes you've got to battle through without your best stuff and tonight was one of those cases. Our offense picked us up today, swung the bat very early and got that big lead and we were able to hold on."
Greg Holland picked up the save, but not before walking two and giving up a single to Escobar, his third hit, to load the bases. Holland struck out Mauer to end the game, logging his second save in three chances.
"My mindset was to get ahead of him so I could throw all my pitches, which I haven't done in the last few outings," Holland said.
The Royals, who had a 12-game losing streak last April, have won three straight and five of six.
"We're starting to realize we can win," Holland said. "Last year, we were trying to figure it out mentally as far as being confident day in and day out. Now this team is really confident."
After Mauer gave the Twins a 1-0 lead in the first, Alex Gordon and Escobar got things started for the Royals with singles. Butler doubled down the left-field line to score Gordon, Mike Moustakas singled home Escobar, and Salvador Perez doubled home Butler. Eric Hosmer's groundout scored Moustakas, and Lorenzo Cain's two-out single scored Perez.
"That was pretty tough," Pelfrey said of the first inning. "They came out in the top of the first and got me a run. I put the offense and the bullpen in a bad spot. It was totally unacceptable. It was frustrating because I had a lot better stuff than the last time.
"I didn't execute. The ball was up. I have to tip my cap to the Royals. They kicked my butt tonight. My sinker was a little up and it flattened out. I left a couple in the middle of the plate and they found some spots. They hit a couple hard. This game's on me."
Pelfrey, who made only three starts last season for the New York Mets before needing reconstructive elbow surgery on May 1, was chased after two innings, allowing six runs on eight hits. He went to Wichita Heights High School and Wichita State, about 200 miles from Kauffman Stadium and had his own cheering section.
"I'm sure that is not what they wanted to see and it's not what I envisioned," Pelfrey said.
Escobar drove in a run in the second to make it 5-2, but Gordon opened the Royals' half of the second with a triple and scored on Alcides Escobar's single.
After Willingham's homer in the third, the Royals scored their final run on Jeff Francoeur's double that scored Hosmer.
Eduardo Escobar went deep in the fifth to cap the scoring.
Twins rookie CF Aaron Hicks, who had never played above Double-A before this season, was not in the starting lineup after only two singles in 30 at-bats and striking out 13 times. ... Moustakas' fielding miscue in the fifth inning was the Royals' first of the season, ending an errorless streak of 64 2/3 innings.