Second baseman Austin Nola - a catcher pressed into infield duty following a flurry of roster moves - made a game-saving, over-the-shoulder catch in shallow right to close out the game with the bases loaded in the seventh.
''It was awesome by Nola,'' Padres manager Jayce Tingler said. ''Even at the end, wasn't for sure who quite caught it and then Nola had it in the glove. The main thing is our guys, they're battling, playing secondary and other positions. They're doing everything in their power. They're having a lot of fun playing baseball right now.''
Caratini's blast to right came on a belt-high fastball from reliever Robert Stephenson, who was summoned after starter Jon Gray (4-3) loaded the bases.
The San Diego catcher's power surge was a big lift for a lineup missing several big bats, including Wil Myers and Fernando Tatis Jr. after both tested positive for the coronavirus.
Before the game, Myers was placed on the injured list along with first baseman Eric Hosmer, who's sidelined as part of baseball's contact tracing health and safety protocols.
The Padres are now missing five players due to the coronavirus protocols.
Tatis, their standout shortstop, went on the IL on Tuesday after testing positive. Jurickson Profar and Jorge Mateo also were added because of contact tracing.
''It's one of those opportunities - an opportunity for us to come closer and build even better chemistry,'' Tingler said. ''We've got guys playing their secondary positions.
''For me, in a sick way, it's kind of fun. Just having everybody come together a little bit.''
Emilio Pagan (3-0) picked up the win with a scoreless fifth inning. Mark Melancon earned the five-out save, his 12th, by getting Elias Diaz - on the 10th pitch of the at-bat - to pop out to Nola, who made the running play with two other fielders converging.
Nola was a shortstop in the minor leagues but hasn't played the infield regularly since 2019. He pinch hit for starter Yu Darvish in the fifth and closed out the game at second base.
''That's a huge luxury,'' Tingler said.
This was Colorado's seventh straight loss to San Diego.
''It came down to they got the big hit from Caratini and we couldn't capitalize on our big-hit chance,'' Rockies manager Bud Black said.
Caratini's grand slam was the second of his career. His other happened on Sept. 8, 2018, as a member of the Chicago Cubs.
Until Caratini's long ball, the Padres managed three singles, just one of which left the infield. Trent Grisham tied the game at 1 in the fifth on a bases-loaded, two-out bunt that caught the Rockies by surprise.
''Every part of me loved it,'' Tingler said. ''It was on his own. He checked the field, saw an opening. ... It turned the momentum a little bit on our side.''
Darvish went four innings and allowed one unearned run in the no-decision.
Gray allowed four runs, one earned, over 5 2/3 innings. He struck out six and walked three.
Trevor Story gave the Rockies a 1-0 lead in the first with an RBI single. Colorado added two in the sixth and had the bases loaded before Raimel Tapia grounded out against Melancon to end the threat.
Padres: The Padres recalled INF/OF Brian O'Grady from Triple-A El Paso and selected the contract of outfielder Patrick Kivlehan. O'Grady started in right for Game 1 and went 0 for 2. Kivlehan entered as a pinch-hitter in the sixth and drew a two-out walk to load the bases, setting the stage for Caratini.
Rockies: LHP Kyle Freeland (shoulder strain) will join Triple-A Albuquerque for a rehab start Saturday at El Paso. He's slated to throw around 70 pitches.
The Padres are playing a doubleheader in Denver for the third time. They split with the Rockies on June 28, 1994, at Mile High Stadium and lost both on July 3, 1999, at Coors Field.
More AP MLB: https://apnews.com/hub/MLB and https://twitter.com/AP-Sports
Copyright 2021 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.