It was only their sixth win in the last 27 games, and the second victory of their completed 11-game homestand.
Brian Duensing (9-13) pitched six innings for the win, giving up four runs -- three earned -- on seven hits. The 28-year-old lefty snapped an 0-5 streak and won for the first time since July 27.
Brad Penny (9-10) was hammered for seven runs and eight hits in five-plus innings to take the loss, his first in four starts.
Kubel belted a two-run homer in the first inning, his 10th, to give the Twins a 2-0 lead, but Santiago singled in the second to tie the game for Detroit.
Ben Revere walked in the third, stole second base and scored on Justin Morneau's single to give Minnesota the lead for good at 3-2.
Then, the Twins poured it on.
After the Tigers scratched together two runs in the top of the sixth, Rene Rivera hit a sacrifice fly in the bottom of the inning to make it 7-4. Hughes then capped a four-run rally in the seventh with a three-run blast, his sixth homer of the season, for the final margin.
The Twins improved to 4-11 against Detroit this season, including 2-7 at home...The Tigers were just 1-for-10 with runners in scoring position, stranding six.