MINNEAPOLIS -- In the last year of his contract with the languishing Chicago Cubs, Ryan Dempster is a prime candidate to be traded this summer.

Dempster was the one who was dealing on Sunday afternoon.

The right-hander further raised his market value with eight shutout innings, and the Cubs beat the Minnesota Twins 8-2 for their fifth win in the last 25 games.

"Whether it's making a start, getting in the lineup or coming out of the 'pen, you just have to try and make the most of those opportunities," Dempster said.

After an 18-start winless streak dating to last August 11, Dempster (2-3) won his second game this week, another gem for this Cubs team that brought the worst record in the majors into the series finale at Target Field. He scattered four singles, walked one, hit a batter and struck out six, three by Joe Mauer, to stretch his scoreless streak to 15 innings.

"It's good he's going back to the National League, I guess, after a performance like that," said Mauer, who had never faced Dempster before.

Dempster lowered his ERA to 2.31 and handed the Twins just their third defeat in their last 12 games.

"It was a good way for us to end a not-so-good road trip," Dempster said.

Alfonso Soriano, who homered three times in the first two games of the series, hit another ball hard, a two-out double in the first inning against Francisco Liriano (1-7). Left fielder Josh Willingham had trouble tracking the ball, turning back and forth in the bright sun until Soriano's drive glanced off his glove.

Soriano batted .316 with 12 RBIs and eight runs on this 10-game trip, and the Cubs won against a left-handed starter for only the third time in 16 tries this year. David DeJesus drove in three runs, and Reed Johnson and Starlin Castro scored three times each. Johnson reached base on 10 of 15 plate appearances this series.

"We scored some runs for him the second time in a row," Cubs manager Dale Sveum said. "That was good. He was pretty dominant again. It's been pretty much a phenomenal run he's had."

The 35-year-old has been the rock of the rotation for the reeling Cubs. He has allowed two runs or fewer in eight of his 11 starts and finished six or more innings 10 times. Dempster threw 38 of his first 47 pitches for strikes and dug deep when he did find trouble against a Twins team batting .302 with runners in scoring position since May 16 entering Sunday.

Justin Morneau grounded out with two runners on to end the first. Mauer struck out to finish the third with a man on third. Ben Revere bounced out to end the fifth with two on base.

"Assortment of pitches," was the assessment from Twins manager Ron Gardenhire. "We couldn't even figure out what one of 'em was. Everybody kept asking."

The consensus was a high, cut fastball he kept getting the Twins to chase. Ryan Doumit's sacrifice fly against Cubs closer James Russell in a non-save situation in the ninth finally put the Twins on the board and Jamey Carroll tacked on an RBI double, but they were too far behind to mount a serious rally.

"We needed to go out with this off day coming and get some good self-esteem on the team," DeJesus said. "At least we can go off feeling, 'Yes, we got the game.' "

After two strong starts in his return to the rotation, Liriano regressed a bit but was still in fine form for most of his appearance. He gave up four hits, four runs and three walks in 5 1/3 innings to leave with a 4-0 deficit, but he struck out six.

The leadoff walk to Johnson, who started the game with a single, cost him badly in the sixth. Castro followed with a sharp double, DeJesus drove in a run with a groundout and Joe Mather's RBI double prompted the pitching change by Gardenhire.

Game notes
Neither team plays Monday. The Cubs host Detroit on Tuesday, with LHP Paul Maholm (4-5, 5.10 ERA) pitching against RHP Max Scherzer (5-4, 5.88). The Twins stay home and play Philadelphia, sending RHP Nick Blackburn (2-4, 7.75) to the mound against Phillies RHP Kyle Kendrick (2-5, 4.44). ... The Twins need another starter in six days, and Gardenhire said RH Liam Hendriks could be called up from Triple-A Rochester. Hendriks, who started the season in the rotation before being sent down in May, struck out 10 in 8 2/3 shutout innings for the Red Wings on Saturday. ... Sveum on the team's pace to pass the franchise record for most losses in a season, 103 in 1962 and 1966: "You have to change the pace. ... You laugh about it, but it's definitely there."