ST. LOUIS -- Francisco Liriano pitched so well, his unsightly stats coming into the game must have been a typing mistake.
Liriano entered 3-8 with a 5.88 ERA but won his second straight starts during a turnaround June, and this one was a huge improvement over a five-inning, 117-pitch effort at Milwaukee five days earlier.
"It was exciting for us to see," manager Ron Gardenhire said. "We need to get him going."
Joe Mauer singled his first two at bats for the Twins to hike his average to .400 before a double-play ball, a groundout and a strikeout dropped him to .394. Jason Kubel had three hits and an RBI and Brendan Harris had two RBIs to help Minnesota take two of three from St. Louis while completing interleague play at 12-6.
Joe Nathan got the last out for his 19th save in 21 chances and 14th in a row after the Cardinals put runners on first and third in the ninth. St. Louis missed a chance to load the bases with one out when Joe Thurston was caught in a rundown between second and third on pinch hitter Chris Duncan's single off R.A. Dickey.
Manager Tony La Russa said Thurston was probably looking down to touch second base when third base coach Jose Oquendo put up the stop sign for slow-footed catcher Jason LaRue.
"Joe's made a couple of mistakes, but I don't think it was a baserunning mistake," the manager said.
Mark DeRosa, acquired Saturday night from the Indians for reliever Chris Perez and a player to be named, batted cleanup for the Cardinals and had three groundouts and a walk for the Cardinals. He contributed defensively with a diving catch in left field that robbed Morneau of extra bases in the eighth.
"It's never good when the outcome's a loss," DeRosa said. "I was a little overanxious the first couple of ABs, but I felt comfortable. And the guys are great here, I can tell there's a vibe I haven't felt in a while."
Ryan Ludwick had two hits and an RBI for the Cardinals, who had three throwing errors resulting in two unearned runs. They've lost four of five, including three against lefties.
Liriano (4-8) allowed two runs and four hits while striking out six and walking two. He retired his first 11 batters and the Cardinals were hitless before Ludwick and Rick Ankiel opened the fifth with doubles. Jason LaRue's RBI single made it three straight hits before Liriano recovered to retire six in a row.
Liriano, who lowered his ERA to 5.62, emphasized getting ahead in the count.
"My location is getting better and that means a lot to me," Liriani said. "I haven't changed anything, just being more consistent, hitting my spots."
Denard Span reached on shortstop Tyler Greene's throwing error and Mauer singled with one out before Morneau, 3 for 18 with one RBI the first five games of a nine-game trip, hit a drive to right estimated at 432 feet to put the Twins ahead 3-0. Morneau's first homer since June 9 was only the third allowed all season by Joel Pineiro (6-9).
"You try and back them off and you get a good hitter like that and you miss," Pineiro said. "That was really the whole ballgame right there."
Pineiro allowed five runs, three earned, in 6 2/3 innings. He's the only member of the Cardinals' rotation to get a decision in every start. He leads the NL in losses.
La Russa said before the game that Todd Wellemeyer, 1/3 with a 6.82 ERA in six starts this month, will take his next turn in the rotation. ... St. Louis INF Brendan Ryan missed the series after a cortisone injection on Friday for a wrist injury but took grounders early Sunday and said his wrist felt "amazing." He was announced as a pinch hitter in the eighth but replaced when the Twins switched relievers. ... Twins pitchers were 0 for 21 in interleague play, going hitless for the first time. ... Liriano is 7-1 with a 2.67 ERA in eight career interleague starts. ... Mauer is 13 for 18 with four RBIs against Pineiro. .... St. Louis relievers had allowed two hits in 9 2/3 scoreless innings in the series before Josh Kinney surrendered a run on two hits in the ninth.