Steven Bisig-USA TODAY Sports

Luis Castillo took a perfect game into the seventh inning as the Seattle Mariners completed a three-game interleague series sweep with a 1-0 victory over the visiting Colorado Rockies on Sunday afternoon.

Castillo (2-0), who had an 0-3 record with an 11.30 ERA in three previous starts against the Rockies, retired the first 18 batters he faced before Jurickson Profar led off the seventh with a bloop single into left-center field.

Kris Bryant followed with an infield single on a slow roller to shortstop J.P. Crawford. Castillo struck out Charlie Blackmon, got C.J. Cron to ground out to first and Ryan McMahon to line out to Crawford to end the threat.

Castillo allowed two hits, didn't walk a batter and struck out nine over seven innings. It was the third time in four starts this season the right-hander didn't allow a run. Paul Sewald struck out the side in the ninth for his fourth save of the season.

The Mariners broke the scoreless tie in the sixth against the Colorado bullpen. Ty France drew a leadoff walk from Dinelson Lamet (1-1), and an out later, Cal Raleigh also walked. With two outs, the Rockies brought in lefty Brad Hand to face the left-handed-hitting Jarred Kelenic, who lined a run-scoring single to right.

The Rockies nearly evened the score off reliever Justin Topa in the eighth. Alan Trejo hit a two-out double to left and Elias Diaz hit a liner down the right-field line but Kelenic fully outstretched to make a diving catch to end the inning.

Rockies right-hander Noah Davis, making his first major league start in place of the injured German Marquez, pitched five scoreless innings, allowing three hits and three walks while striking out five.

Davis worked his way out of jams in his final three innings.

In the third, Kolten Wong and Crawford hit one-out singles before Davis got Julio Rodriguez to ground into a 6-4-3 double play.

France led off the bottom of the fourth with a walk and Eugenio Suarez singled to right. Davis struck out Raleigh and got Teoscar Hernandez to ground into another inning-ending double play.

In the fifth, Kelenic led off with a walk, stole second and took third on catcher Brian Serven's throwing error. Davis struck out AJ Pollock and got Wong and Rodriguez to foul out to Cron to cap his outing.

More must-reads:

TODAY'S BEST
Giants All-Star pitcher suffers setback in recovery from injury
Watch: Juan Soto's first multi-homer game as a Yankee
'Ain't good enough': Draymond Green claims Celtics must 'win it all' or it's a 'failure'
Raptors expected to flip former NBA champion during the offseason
MLB insider reveals Mets' massive extension offer that Pete Alonso turned down
Celtics legend provides update after gruesome finger injury
Bulls hire former NBA head coach as top assistant
Chiefs move on from young running back
20-year MLB veteran working out, unsure about playing future
USA Hockey names HC for 2025 4 Nations Face-Off and 2026 Olympics
Key Knicks forward ruled out for Game 7 vs. Pacers
Pacers' Pascal Siakam leads team to Game 6 win vs. Knicks
Watch: Matt Duchene's 2OT winner sends Stars to conference final
Scottie Scheffler shoots improbable 66 after warming up for PGA Championship in a jail cell
Report: Tua Tagovailoa away from Dolphins amid contract chatter
Nuggets star has worrying comment about latest injury
Paul Skenes makes incredible Wrigley Field history in second-career MLB start
Giants rookie CF to undergo season-ending labrum surgery
Yankees' Juan Soto reacts to Hal Steinbrenner contract talk
Late goal sends Panthers to Eastern Conference Finals