PHOENIX — The Colorado Rockies allowed a run on a passed ball, another when a player failed to cover the bag on a steal attempt. A third came in when a runner scored from second base on a wild pitch.
The miscues and a whole lot of hits by the Arizona Diamondbacks put the Rockies in three-run holes twice.
They kept battling back and ended up with their sixth straight victory thanks to a player with two career home runs hitting a grand slam against one of baseball's best relievers.
Pinch-hitter Raimel Tapia hit a grand slam in Colorado's six-run seventh inning off Archie Bradley, Nolan Arenado had a pair of two-run homers and the Rockies rallied to beat the Diamondbacks 11-10 on Friday night.
"You've got to give Tap a ton of credit for having an at-bat in a big spot and delivering," Rockies manager Bud Black said.
Arizona built an 8-5 lead through six innings behind Ketel Marte's career-high four RBIs and a big night by A.J. Pollock.
The Diamondbacks brought in Bradley (2-2) in the seventh, an inning earlier than usual.
It didn't turn out well.
Carlos Gonzalez hit a run-scoring single, and Bradley, who entered with a 1.97 ERA, walked in another run. Tapia, who had two previous career home runs, hit his first grand slam just over the wall in right to put Colorado up 11-8.
"I just didn't have it," Bradley said. "I couldn't make that final pitch."
Scott Oberg (5-0) got two outs in the sixth inning for the Rockies. Adam Ottavino had some shaky moments in the ninth, giving up a run before striking out Jon Jay with a runner at third for his third save.
Pollock tied a team record with five hits and scored three runs. David Peralta had four hits for the Diamondbacks, who lost despite scoring 10 runs on 14 hits.
"Tough pill to swallow," Diamondbacks manager Torey Lovullo said. "It was a tough, tough game, a tough loss."
The Rockies have a knack for jumping on teams early, leading the majors with 80 first-inning runs and 29 homers. They tacked onto those totals on Arenado's two-run homer off Robbie Ray.
The Diamondbacks answered in the bottom half, though, going up 3-2 on Marte's two-run single and a passed ball by catcher Tony Wolters.
Arizona tacked on two more runs in the third, but German Marquez, baseball's hitting leader among pitchers, floated a run-scoring single to right in the fourth. He's 7 for 13 in his past five games, raising his average to .361.
On the mound, Marquez wasn't as good, allowing six runs — five earned — on eight hits and struck six in five innings.
"The biggest thing was that the game sped up on me," Marquez said through an interpreter. "The tempo was a little too fast and I paid the price for it."
Arenado tied it in the fifth, curling a two-run homer just over the wall and inside the foul pole in right for his 25th of the season.
Ray allowed five runs on eight hits in 5 1/3 innings.
One reason Ottavino was able to get out of a jam in the ninth was a diving catch by Charlie Blackmon in center.
With runners on second and third with one out, Blackmon raced in to snare Alex Avila's weak fly ball just before it hit the ground. Jake Lamb scored on the play, but Blackmon's catch prevented the tying run from scoring.
"Charlie's play was huge, obviously," Black said. "That falls, it's a whole different outcome, we don't know what happens."
Rockies: 2B DJ LeMahieu left in the fourth innings straining an oblique muscle. Black said he will likely end up on the DL. ... RHP Chad Bettis (blister) is scheduled to make a rehab start for Triple-A Colorado Springs on Saturday.
Diamondbacks: An MRI on the right elbow of RHP Shelby Miller showed no further ligament damage, but he is expected to be shut down for about another week. Miller has not pitched since feeling elbow tightness in a loss to Colorado on July 11, his fourth start back from Tommy John surgery.
Diamondbacks RHP Zack Godley has allowed two runs in 12 innings his past two starts heading into Saturday's game against the Rockies. Colorado will send out LHP Kyle Freeland, who is seventh in the NL with a 3.11 ERA.