It was the largest ninth-inning comeback in Rockies history. The previous best was four runs.
The Rockies trailed 9-2 after Matt Holliday’s three-run shot in the sixth and got one run in the seventh on Chris Iannetta’s fielder’s choice groundball.
Iannetta hit a three-run homer off Franklin (3-1), who allowed six runs and six hits while retiring just one batter.
Manny Corpas (3-5) got the win with two perfect innings of relief.
After Iannetta’s fifth homer, Dexter Fowler doubled off the right-field wall and scored on Carlos Gonzalez’s two-out single, making it 9-8. Gonzalez scored all the way from first when Jason Giambi’s single was mishandled by right fielder Randy Winn for an error.
Aaron Cook pinch-ran for Giambi and reached third on Miguel Olivo’s single before Smith connected for his 12th homer on a 2-2 offering from Franklin.
In all, the Rockies reached base 27 times, although until the ninth they were lamenting their wasted opportunities as they stranded 13 runners. The start of the game was delayed half an hour as a precaution because of lightning in the area.
Yankees 6, Athletics 1 — Alex Rodriguez hit his 21st grand slam and added a solo shot for his 597th home run, helping CC Sabathia win his seventh straight start.
Rodriguez connected with the bases loaded in the third inning in Oakland to tie Manny Ramirez for the second most slams, then went deep again in the sixth off Trevor Cahill (8-3) to lead the Yankees to their fourth straight win.
Rangers 12, Indians 1 — Josh Hamilton homered to stretch his home hitting streak to 26 games, C.J. Wilson pitched six strong innings and Texas got plenty of offense to blow away Cleveland.
Vladimir Guerrero added a two-run homer in a five-run sixth inning, Nelson Cruz and David Murphy also went deep, and Joaquin Arias had a career-high four RBIs for Texas.
Mets 3, Reds 0 — Johan Santana lined his first major league homer, providing his own run support while pitching a three-hitter that led host New York over Cincinnati.
Braves 6, Phillies 3 — Matt Diaz hit a tiebreaking double in the 11th inning, Eric Hinske added a two-run homer and NL East-leading Atlanta won in Philadelphia.
Nationals 6, Padres 5 — Ryan Zimmerman’s second homer, a shot to center field off Luke Gregerson leading off the bottom of the ninth, enabled Washington to snap San Diego’s three-game winning streak.
Astros 6, Pirates 2 — Wandy Rodriguez struck out 10 and allowed four singles in seven innings and host Houston snapped a three-game losing streak.
Tigers 7, Orioles 5 — Johnny Damon hit with a winning homer in the 11th inning and Detroit rallied from a 4-1 eighth-inning deficit to beat visiting Baltimore.
Twins 7, Blue Jays 6 — Denard Span drove in the go-ahead run with a single in the eighth inning, allowing visiting Minnesota to get by Toronto.
Cubs 6, Diamondbacks 4 — Aramis Ramirez homered twice, Carlos Silva earned his first victory in five starts and Chicago clinched its first road series in 1 1/2 months, topping Arizona in Phoenix.
Giants 6, Brewers 1 — Heralded 20-year-old rookie Madison Bumgarner gave up three hits in eight shutout innings for his first major-league win, and visiting San Francisco routed Milwaukee.
Royals 3, Mariners 2 — Zack Greinke allowed two hits over seven innings and Wilson Betemit drove in all the runs for Kansas City in Seattle.
White Sox 4, Angels 1 — Andruw Jones hit his 399th career home run and host Chicago won despite losing starter Jake Peavy in the second inning because of a back injury.
Dodgers 7, Marlins 3 — Matt Kemp hit his fourth homer in six games, Rafael Furcal had three RBIs, and host Los Angeles rolled over Florida.