Uribe finished with three of the Dodgers' six hits. Los Angeles moved into first place in the NL West, a half-game ahead of San Francisco, which lost to St. Louis on Thursday.
''It feels good where we're at, and it's where we want to be,'' manager Don Mattingly said.
Greinke (11-4) got the win despite giving up the lead in the eighth inning. His teammates rallied in the ninth off reliever LaTroy Hawkins to help Greinke tie for the major league lead in victories.
''Anytime you can give up two runs at this park is special,'' first baseman Adrian Gonzalez said.
Kenley Jansen worked the bottom of the inning to get his NL best 26th save in 29 chances.
Justin Morneau and DJ LeMahieu had two hits apiece for the Rockies, who have lost four straight and 15 of 17 to move within a half-game of last place in the NL West.
It looked like Greinke might go the distance. He needed just 82 pitches through seven innings with Los Angeles was leading 2-1.
But the Rockies rallied in the eighth. Charlie Blackmon led off with a single and one out later Morneau tripled to right-center to tie the game 2-2. Tulowitzki, who entered the game hitting a major league-best .351, came to the plate with a chance to put Colorado ahead.
Mattingly came out to talk strategy, and walking Tulowitzki wasn't considered.
''We wanted to get after him,'' Mattingly said. ''Not to give in, pitch him tough.''
Greinke started with a 93 mph fastball for a strike, and after Tulowitzki looked at two balls he popped out to shallow left field.
''It wasn't really the plan. I was trying to get a soft grounder,'' Greinke said. ''It worked, but it wasn't how we drew it up.''
After an intentional walk to Corey Dickerson, Greinke struck out Nolan Arenado with a high fastball.
''It was a total ball. I got a little overly anxious,'' Arenado said. ''I knew he was coming around middle-in and I just over swung a little bit. Bad pitch to swing at.''
Greinke went eight innings for just the second time this season. He allowed two runs - one earned - on nine hits, struck out eight and walked just two. It was the 37th straight game a Dodgers starter has walked two or fewer.
''We were joking it was going to be tough to (keep going) in Colorado and then having to intentionally walk someone,'' Greinke said. ''That would have been awful to lose it on an intentional walk.''
The Dodgers got the winning run in the top of the ninth. Matt Kemp worked a leadoff walk off Hawkins (2-2), went to second on Scott Van Slyke's groundout and scored when Uribe singled under the glove of second baseman LeMahieu.
''I didn't see it off the bat too well. By the time I saw it, I felt it was kind of by me,'' LeMahieu said. ''It's a play I feel like I still (should) make.''
Colorado lefty Franklin Morales was making his first start since allowing six runs in 5 1-3 innings at Cleveland on May 31. He made eight relief appearances in June, going 1-0 with a 4.50 ERA in 14 innings. He was pressed into his 12th start after right-hander Jhoulys Chacin went on the 15-day disabled list with right shoulder inflammation.
Morales worked five innings, allowing an RBI single to Gonzalez in the third and a sacrifice fly to A.J. Ellis in the fourth to make it 2-0.
He surrendered two runs - one earned - on four hits and struck out four.
The Rockies got one back in the fifth when LeMahieu reached second when Yasiel Puig misplayed his two-out single. LeMahieu scored on Josh Rutledge's pinch-hit double.
NOTES: The Dodgers recalled INF Erisbel Arruebarrena from Triple-A Albuquerque and optioned INF Carlos Triunfel to the Isotopes. ... Before the game, the Rockies activated Arenado from the 15-day DL and optioned LHP Christian Friedrich to Triple-A Colorado Springs. ... Colorado manager Walt Weiss said LHP Boone Logan could be activated from the 15-day DL ''in a day or two.'' ... The Dodgers will send LHP Clayton Kershaw (9-2, 2.04) against Colorado RHP Jair Jurrjens, whom the Rockies acquired Wednesday from Cincinnati.