Willingham's two-run shot in the fifth -- one of four long balls launched by Minnesota -- put the Twins ahead 7-0. He later added an RBI single to key a 16-hit attack.
Ryan Doumit, Chris Herrmann and Brian Dozier (3-for-4) each supplied a bases-empty clout for Minnesota.
Aaron Hicks chipped in with three hits, an RBI and a run scored for Minnesota, which took the rubber match of a three-game series.
Diamond (4-4) scattered four hits and a walk while striking out three in recording his first victory since May 7.
Veteran right-hander Jeremy Bonderman (0-1), making first major-league start since 2010, was lit up for seven runs on nine hits in 4 2/3 frames for the Mariners.