Sam Navarro-USA TODAY Sports

Avisail Garcia drove in the go-ahead run in the eighth inning as the host Miami Marlins completed a three-game sweep, courtesy of a 3-2 victory over the Colorado Rockies on Thursday afternoon.

Miami won its sixth straight home game after limiting Colorado to 1-for-11 with runners in scoring position. In total, the Rockies stranded 13 runners on base.

Miami's Jon Berti, who went 2-for-4 with a run and stole two bases, tied Emilio Bonafacio's 2012 franchise record of 21 consecutive stolen bases without being caught.

Steven Okert (5-0) pitched one scoreless inning for the win. Tanner Scott pitched a scoreless ninth for his seventh save of the season.

Colorado's Kyle Freeland received a no-decision despite registering a quality start, allowing two runs on seven hits with no walks and five strikeouts.

Reliever Alex Colome (2-2) took the loss after yielding one run on two hits in one inning.

Marlins starter Braxton Garrett also got a no-decision despite striking out seven batters and walking just one. But he also allowed nine hits -- six of them with two strikes -- in just 4 2/3 innings.

Garrett pitched well early, getting two straight strikeouts to strand Elias Diaz after his second-inning triple.

Miami opened the scoring in the bottom of the second as Jesus Aguilar doubled and scored on Miguel Rojas' single.

Colorado grabbed a 2-1 lead in the third with a rally that began with a two-out, none-on walk to C.J. Cron. Brendan Rodgers followed with an RBI double and Ryan McMahon added a run-scoring single.

Miami tied the score in the bottom of the third as Berti doubled and stole third before scoring on Jorge Soler's sacrifice fly.

Colorado nearly went ahead in the sixth as leadoff batter Elehuris Montero doubled high off the wall in left-center field. But Montero was stranded after a strikeout and two groundouts.

The Rockies threatened again in the seventh with Rodgers' one-out triple, but Colorado couldn't get him home.

Miami punched a pair of two-out singles in the bottom of the seventh, but Freeland struck out Jazz Chisholm Jr. on his 107th and final pitch.

The Marlins surged ahead in the eighth, thanks in part to Garrett Cooper's one-out single.

Luke Williams, who replaced Cooper as a pinch runner, raced to third on Aguilar's single. Williams then raced home when the Rockies failed to get a double play on Garcia's grounder.

In the ninth, Rodgers singled, but Scott struck out the final two batters.

More must-reads:

TODAY'S BEST
Welcome to the WNBA: Caitlin Clark sets infamous record in debut
Jalen Brunson leads Knicks to blowout win in Game 5 vs. Pacers
Nikola Jokic torches DPOY to lead Nuggets past Wolves in Game 5
Oilers use late heroics to tie Canucks at two games each
Watch: Astros pitcher ejected after foreign substance check
Kirk Cousins not angry with Falcons because winning is 'hard enough'
Bronny James has surprising comments on potentially teaming up with LeBron
Bills add two-time Super Bowl champ to new-look WR room
Brewers lose team-leading home run hitter to injured list
Sandy Alderson denies involvement in Mets, Billy Eppler IL controversy
Twins reliever shut down for six weeks with patellar tendon tear
Chris Finch throws shade at Nuggets star over Rudy Gobert’s fine
Cardinals head coach warns not to bet against Kyler Murray
Details emerge on Jason Kelce’s role at ESPN
Rangers defenseman wins Mark Messier Leadership Award
Ex-NFL head coach takes over as Arena Football League commish
Yankees young stud takes major step in return from injury
See top groupings for Rounds 1 and 2 at 2024 PGA Championship
Former Bruins winger dead at 75
Super Bowl-winning safety plans to retire after 2024 season