KANSAS CITY, Mo. (AP) Royals catcher Salvador Perez picked David Fletcher off third with the bases loaded for the final out in the ninth inning, helping the Kansas City Royals beat Shohei Ohtani and the Los Angeles Angels 3-2 Tuesday night.

Danny Duffy pitched one-run ball over six innings, and Perez had two hits and an RBI.

Kansas City's veteran backstop ended the game by blocking Greg Holland's 0-2 pitch in the dirt. The ball bounced off batter Jared Walsh and right back to Perez, who picked it up and caught Fletcher venturing too far off third base.

''I'm not sure I've ever seen a game end like that,'' Royals manager Mike Matheny said. ''For Salvador to keep that ball in front of him is so impressive. There's a lot of risk mitigation there, but with a fearless player like Salvador Perez, he can do anything.''

Ohtani showed off impressive speed on an infield single in the first and added a 431-foot homer to right field in the fifth. The two-way star - just a designated hitter in this one - has four homers this season and raised his average to .364 with three hits. Ohtani has reached base in 10 straight games and has eight RBIs in his last four games.

''He is pretty spectacular,'' Angels manager Joe Maddon said. ''He's going up there with a lot of confidence and you're seeing it with his swing and approach. We're getting closer to him getting back on the mound, too.''

Duffy (2-0) went six frames for a second straight outing, allowing eight hits and six strikeouts. He ended his night striking out Jack Mayfield with the bases loaded to close out the sixth.

''That was a big situation and my boys backed me up defensively,'' Duffy said. ''I was just trying to empty the tank and I was able to get a good heater in there. It felt good.''

Holland completed a four-out save for his first of the season, which included a strikeout of Mike Trout, who was fanned four times in the game.

In the first inning, Carlos Santana hit a sacrifice fly to right to score Andrew Benintendi. Santana added another RBI in the third, scoring Whit Merrifield to lead 2-0.

Merrifield hit a pop-up in foul territory in the fifth that was dropped by catcher Kurt Suzuki. He reached base two pitches later and eventually scored on a two-out RBI single by Perez, who is thriving at the plate following a 4 for 4 game Tuesday night.

''We had great situational hitting tonight,'' Matheny said. ''Those things some people call little things we did well.''

Suzuki hit a sacrifice fly off Wade Davis in the eighth to cut the deficit to one.

Dylan Bundy (0-1) went seven innings, giving up two earned runs on five hits and two walks. He struck out six.

TRAINER'S ROOM

Angels: Placed C Max Stassi (left thumb sprain) and OF Juan Lagares (left calf strain) on the 10-day injured list, recalled C Anthony Bemboom and selected the contract of OF Jon Jay.

Royals: Selected the contract of RHP Ervin Santana and recalled RHP Tyler Zuber while sending INF Ryan McBroom to the alternative site and placed RHP Josh Staumont on the 10-day injured list.

UP NEXT

The Angels send RHP Griffin Canning (0-0, 6.75) to the mound as the Royals counter with RHP Brad Keller. Canning went 5 1/3 innings allowing four earned runs in his last start against Toronto. Keller will try to bounce back after giving up 10 earned runs in just 4 2/3 innings this season.

---

More AP MLB: https://apnews.com/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.