Liriano (5-11) went seven innings, giving up a run and striking out eight. It was his first win since June 28.
Joe Crede had three hits, one of them a three-run homer in the first that gave Minnesota a 5-1 lead. The Twins had lost eight of their previous 10 games.
Orlando Cabrera extended his hitting streak to 21 games with a fourth-inning double that drove in a run.
Brian Bannister (7-9) gave up seven runs on nine hits in six innings to take the loss. The Royals had just four hits overall.
Copyright 2009 by United Press International.