Liriano (12-4) allowed only two hits to offset his five walks and had six strikeouts. The left-hander improved to 7-1 with a 1.65 ERA in his last eight starts for the NL Central leaders.
Last season, Liriano was a combined 6-12 with the Minnesota Twins and Chicago White Sox. He has a hard time explaining his turnaround, which is a big reason why the Pirates hold a 1½-game lead over St. Louis in the NL Central.
"What can I say?" he said. "Everything is going good for me and good for the team. I'm not really thinking about it too much. I'm just going out and pitching and trying to be aggressive and get people out. It's working out well for me and it is working out for well for the team because we're winning."
Tabata hit his first home run since May 11 -- a span of 112 plate appearances -- and also tripled while going 3 for 4 to raise his average to .266. Tabata has hit just three homers this season, which is why general manager Neal Huntington tried to trade for an outfielder before the July 31 non-waiver deadline, though without success.
"We've seen Jose swing the bat like this before and be productive over the last few years," Pirates manager Clint Hurdle said. "Hopefully, he will get hot."
The Rockies put men on base in six of Liriano's seven innings but they went 0 for 9 against him with runners on, including five hitless at-bats with runners in scoring position.
"When I walk people it's because I'm overthrowing," Liriano said. "When guys got on base, I told myself to slow down and make pitches, not try to do too much."
Colorado lost for the fifth time in six games.
"We had some opportunities early but like most of the good ones once he settled in he was tough," Rockies manager Walt Weiss said. "He had a good changeup and his command was pretty good even though he walked some guys."
Fill-in closer Mark Melancon pitched a 1-2-3 ninth for his sixth save.
Jorge De La Rosa (10-6) pitched four-plus innings and gave up three runs on six hits while striking out three and walking two. The outing came a day after Rockies owner Dick Monfort said Colorado would exercise De La Rosa's $11 million club option for 2014.
"Jorge didn't have very good command," Weiss said. "It was a struggle for him from the start."
The Pirates scored one run each in the third through seventh innings to take a 5-0 lead.
In the third, Starling Marte led off with a single, stole second, took third on Jordy Mercer's groundout and scored on McCutchen's double. Tabata led off the fourth by homering over the 375 sign in right-center for his third of the season.
Sanchez hit run-scoring singles in both the fifth and seventh innings, while Tabata led off the sixth with a triple and scored on Josh Harrison's squeeze bunt.
Colorado finally scored a pair in the eighth on consecutive RBI singles by Troy Tulowitzki and Michael Cuddyer, who returned to the team after missing the previous two games because of a family emergency.
Colorado LF Carlos Gonzalez was not in the lineup for a fourth straight game with a sprained right middle finger but hopes to play Sunday. ... Rockies 1B Todd Helton, who has normally been rested twice a week, played in nine straight games until being rested Saturday. ... Colorado RHP Roy Oswalt, on the disabled list with a strained right hamstring, was forced to cut short a simulated game because of tightness in the leg. ... Pittsburgh C Russell Martin sat out for the second time in three games because of left knee soreness. ... The Pirates will start RHP A.J. Burnett (4-7, 2.86 ERA) on Sunday against RHP Juan Nicasio (6-4, 4.92) in the three-game series finale.
Copyright by STATS LLC and The Associated Press
PITTSBURGH, PA - AUGUST 03: Francisco Liriano #47 of the Pittsburgh Pirates pitches in the first inning against...
38,424 (100.2% full) - % is based on regular season capacity
76 degrees, cloudy
Home Plate - Chris Guccione, First Base - Ron Kulpa, Second Base - Tom Hallion, Third Base - Phil Cuzzi
Michael Cuddyer has hit .359 in at-bats ending in a slider, third highest in the NL among qualified hitters. Francisco Liriano throws his slider 38 percent of the time, fourth highest in MLB among pitchers with at least 15 starts.