Francisco Liriano knows very well what the Detroit Tigers have done to him over the last five years.

Since pitching eight shutout innings in a 2-0 win for Minnesota on April 27, 2010, Liriano had faced the Tigers 14 times -- 11 as a starter -- and gone 1-9.

Thursday, though, he changed that streak in a big way, shutting down Detroit for seven innings as the Pittsburgh Pirates finished a three-game sweep with an 8-4 win.

"I just had to go out there and forget everything that has happened with the Tigers," he said. "In the past, I've tried to make perfect pitches to those guys, and I have ended up leaving the ball in the middle of the plate. Today, I just executed."

Detroit never got a runner past second against Liriano.

"Frank just pitched a major-league game," Pittsburgh manager Clint Hurdle said. "That's a great offense, and he did an excellent job of keeping them from running the bases."

Neil Walker had his second straight four-hit game for Pittsburgh and drove in three runs. Walker went 10-for-17 in the series with seven RBIs, raising his batting average from .257 to .278 in the process.

"No one knows what gets Walk into these streaks -- if we did, we would keep pushing the button," Hurdle said. "But if you look at the back of his gum card, you will see that he keeps doing this."

Mark Melancon came on to get the final out and his 25th save. Pittsburgh outscored the Tigers 22-11 in the series.

"We played good, tough baseball," said Hurdle, a Michigan native who grew up as a Tigers fan. "We were tough on the mound, tough in the field and we showed some backbone at the plate."

Kyle Ryan (1-2) took the loss, giving up two runs on three hits and five walks in four-plus innings.

Tigers manager Brad Ausmus was ejected in the fifth inning by home-plate umpire Sam Holbrook for arguing a called third strike on J.D. Martinez.

"The pitch to J.D. was just the last straw," Ausmus said. "He threw me out before I could even get out the dugout."

Pittsburgh took a 1-0 lead in the fourth on Francisco Cervelli's fourth homer of the season, and after Ryan walked the first two batters of the fifth, Ausmus brought in Al Alburquerque. After a bunt, Andrew McCutchen hit a sacrifice fly to deep right-center, but Josh Harrison was stranded at third.

Walker made it 3-0 in the sixth with an RBI single, but Blaine Hardy came in to keep another Pirates inning to just one run.

Hardy gave up an RBI single to Starling Marte in the seventh -- the fourth straight inning where Pittsburgh scored exactly one run.

J.D. Martinez hit a three-run homer off Antonio Bastardo in the eighth, but that didn't help his mood much after the game.

"I'm definitely frustrated," he said. "The biggest thing I took out of last year was how much fun it was in September, playing with the division coming right down to the wire. That was the most fun I've ever had in baseball.

"If we don't start getting some wins, that last month is going to be a drag."

Pittsburgh, though, expanded the lead in the ninth off Bruce Rondon. Jordy Mercer singled, stole second standing up and scored on McCutchen's 420-foot double. Walker added a two-run double and Sean Rodriguez added an RBI groundout.

Ian Kinsler's RBI double in the bottom of the ninth made it 8-4 before Melancon ended it by getting Victor Martinez to ground out to first.

TRAINER'S ROOM

Pirates: OF Corey Hart (shoulder) had a day off Wednesday in his rehab assignment with Triple-A Indianapolis, but is expected to play Thursday night in Toledo.

UP NEXT

Pirates: Pittsburgh starts a three-game home series with Cleveland on Friday, with Charlie Morton (6-1, 4.28) facing Trevor Bauer (6-5, 3.96) in the opener.