"It came down to the bullpen and a couple of big hits," Twins manager Ron Gardenhire said. "It started off with Joe, and Willy knocked him in. So a huge couple of hits there at the end."
Willingham's clutch hit came on an 0-1 slider to right field to score Mauer, who also went to the opposite field with a double down the left-field line. Mauer finished 3-for-4 on the night.
"I was just trying to drive him in," Willingham said. "I wasn't trying to do anything special. I was just looking for something out over the plate, and trying to stay through the middle."
Left-hander Glen Perkins, after allowing a leadoff double to Alcides Escobar, held the Royals scoreless in the bottom half to preserve the victory.
With one out, second baseman Alexi Casilla nailed Escobar at the plate on a grounder by Mike Moustakas. Perkins then got Jarrod Dyson on a groundout to Casilla for the final out and his fifth save.
Earlier, Blackburn was able to get into the seventh inning for the first time all year, while Tyler Robertson, Jared Burton and Casey Fien combined for 3 1/3 scoreless innings in relief. Fien tossed two scoreless innings for his first career victory.
Blackburn, who was optioned to Triple-A Rochester on July 4 after posting an 8.10 ERA through his first 13 starts, carried over his impressive numbers from Rochester where he allowed just one run over 15 innings.
"It's big just to go out there and attack the strike zone," said Blackburn, who gave up one run on seven hits in a no-decision. "I don't think I was in any three-ball counts, which is big because I've been walking a lot of guys. So I was able to go out there and get some early action, which means the ball had some good movement. I was able to get some weak contact."
It was far and away his best performance this year, as Blackburn only had one quality start in 13 outings entering this one. The one run he allowed also was a season-low, as his previous best was when he gave up two runs over five innings against the Royals on June 6.
"I'll say this, he got ahead with strike one all night tonight and then kind of went about his business after that," Royals right fielder Jeff Francoeur said. "He tended to hit a lot of spots tonight that I feel like, last time we faced him, he left some over the plate. I thought he pitched pretty well tonight."
Yuniesky Betancourt doubled off Blackburn in the seventh inning to tie the game at 1. The Twins then called on Robertson to face Alex Gordon, and the move paid off, as Robertson was able to strike out Gordon to end the inning.
Royals right-hander Luke Hochevar was equally as effective as Blackburn, scattering five hits over seven strong innings.
The Twins managed just one run against Hochevar on Darin Mastroianni's solo shot in the second. It was Mastroianni's second homer of the season and came on a 3-1 fastball.
Minnesota wasted a scoring opportunity in the eighth with two runners on and two out against reliever Kelvin Herrera, as Willingham grounded out to end the potential rally.
Minnesota spoiled another prime scoring chance in the 10th, when Mastroianni led off the frame with a triple, but was stranded there, as Casilla grounded out with the infield in before Ben Revere and Jamey Carroll struck out.
"Benny chased some bad pitches and so did Carroll so that was disappointing," Gardenhire said. "But overall it was a very exciting baseball game. Both teams got after it pretty good."