Harrison combined with four relievers on a five-hitter to get his first victory since September 2012, in his first home start since April 2013, and the Rangers won 5-0 on Thursday night after being overwhelmed by the Rockies the previous three games.
"It's a huge team win for us," Harrison said. "I guess it will hit me more tonight as I get home. But it felt good to get a win after being so long off."
Colorado had been the only National League team without a shutout loss. The Rockies, whose 22 wins are tied for most in the majors, had 50 hits and outscored the Rangers 29-5 the previous three nights -- the first two in Denver before the interleague matchup switched to Texas.
Harrison (1-0) allowed three singles over 5 1/3 innings, with four walks and two strikeouts. The left-hander made his first home start since April 6, 2013, his last before two operations for a herniated disk in his back.
Nick Martinez got out of a jam with a strikeout to end the sixth, and Aaron Poreda got two outs facing only one batter. Jason Frasor and closer Joakim Soria each pitched an inning with two strikeouts.
"That's what they've been giving us. They just hit a bad spell," manager Ron Washington said of his pitching staff. "Harry stepped up and kept them off balance and did a great job, and the bullpen came in and did the rest."
Rockies third baseman Nolan Arenado extended his hitting streak to 28 games with a single in the third. That broke the team record he matched Wednesday night, and he is halfway to Joe DiMaggio's major league record of 56 set in 1941.
"My cousin was like, 'Dude, you're halfway!' I'm like, halfway?," Arenado said. "I feel like this has been forever. This is unbelievable."
The Rockies had won the previous four starts by lefty Franklin Morales (3-2). He allowed five runs (four earned) with five strikeouts and three walks in six innings.
Fielder's third homer was a towering solo shot in the sixth, an estimated 401 feet into the second deck of seats in right field.
McKenry led off the Colorado seventh with a double, but that inning ended when he was thrown out trying to score on Charlie Blackmon's fly to right field.
After Rios threw home, catcher Robinson Chirinos made a sweep tag. Rockies manager Walt Weiss challenged the call, but the out was confirmed in New York after a review of about 2 1/2 minutes on replays that showed the tag was applied a split-second before McKenry touched the plate with his left hand.
The Rockies had the bases loaded in the second before 20-year-old Rangers second baseman Rougned Odor, in his major league debut, made a nice play to start an inning-ending double play. Odor went to his left to snag a liner with two runners on to end the third.
Arenado's hitting streak is one game longer than teammate Michael Cuddyer's 27-gamer last season. Arenado's streak began April 9, a week before his 23rd birthday.
"I was really more worried about winning," Arenado said. "Me having the mindset about me trying to help my team out and doing my job, I think that's what made me get it."
Rockies 1B Justin Morneau was a late scratch from the starting lineup because of a stiff neck. ... Odor was the youngest player in the Texas League, and at 20 years, 94 days, he became the youngest to appear in the major leagues this season. ... Odor and Luis Sardinas were called up from Double-A Frisco earlier Thursday, when 2B Donnie Murphy (strained neck) was put on the 15-day disabled list and INF Josh Wilson was designated for assignment. ... Martin has a 10-game home hitting streak. ... Blackmon made two errors in left field in the seventh, one fielding and one throwing.