SAN DIEGO — Justin Upton caught one home run ball, just missed snatching another. And then he hit one of his own.

"Two for three on home run balls? I'll take that," Upton said after his two-run shot capped a four-run, 10th-inning rally that carried the Los Angeles Angels past the San Diego Padres 6-3 on Monday night.

Upton robbed pinch-hitter Eric Hosmer in the eighth when he went above the left-field wall to turn a go-ahead, three-run homer into a tying sacrifice fly.

"Justin Upton makes the play of the night, taking away a home run," Angels manager Mike Scioscia said. "Keeping it 2-2 in the eighth, that's huge."

Hosmer hit a 3-0 pitch from Angels starter Andrew Heaney high and deep to the opposite field.

"I knew (Hosmer) got it good," Heaney said. "Obviously, J-Up made a great play. He had a hell of a night tonight. I'm glad he's out there."

Upton just missed making an identical play in the third inning on a home run off the bat of Freddy Galvis.

"Initially, I thought I had it. How high it was, I thought I was going to catch it," Upton said. "It just kept carrying. He hit it a little better than I thought."

Kole Calhoun hit a tiebreaking ground-rule double in the 10th for the Angels, a towering drive that fell between Manuel Margot and Hunter Renfroe in right-centre before bouncing over the fence.

"I think Hunter kind of pulled up," Padres manager Andy Green said. "I don't know if he thought he heard Manny say something."

Shohei Ohtani scored on David Fletcher's perfect squeeze bunt, and Upton made it 6-2 when he connected off Craig Stammen (5-2) for his 25th homer.

Jose Briceno, who homered early for the Angels, opened the 10th with a double but was thrown out at third by catcher Austin Hedges on Eric Young Jr.'s bunt. Briceno was originally ruled safe, but the call was overturned after a replay review.

Young then stole second and Ohtani drew a pinch-hit walk to set up Calhoun's big hit.

Blake Parker gave up a solo homer to Hosmer in the bottom half.

The Angels got 7 1/3 innings of four-hit ball from Heaney.

The Padres failed to score after putting runners on first and second in the ninth when reliever Cam Bedrosian (4-2) got Galvis to foul out.

San Diego pulled even at 2 in the eighth when Galvis scored on Hosmer's deep sacrifice fly. Galvis led off the inning with a single and went to third on Jose Pirela's single.

Galvis hit a solo homer off Heaney in the third, just beyond the reach of a leaping Upton. One day earlier, Galvis had a grand slam in San Diego's 9-3 win over the Phillies.

Briceno homered in the top of the third, and Young scored on a wild pitch by Padres starter Clayton Richard.

Winless on the road this season, Heaney held San Diego to two runs. In his previous 10 starts away from home, he was 0-5 with a 5.30 ERA.

Richard, who gave up two runs and four hits over eight innings, is winless in his last nine starts. The left-hander entered 0-4 with a 7.29 ERA in eight starts since his most recent victory on June 22.

"Individually it was probably a step in the right direction, but unfortunately just not quite enough," Richard said. "The guys fought hard. It stinks having a game like that."

WEB GEM

Margot made the defensive play of the game with a full-out diving catch on the dead run of Jefry Marte's sinking line drive to end the third inning.

HOT CORNER

Wil Myers came off the 10-day disabled list and played third base for the first time this season — and second time in his five-year career. Of course, five of the Angels' first six batted balls went his way. Myers caught Calhoun's line drive, then threw out Fletcher and Upton on grounders in the first inning. Myers' busy night didn't end until he had recorded eight assists and one putout.

TRAINER'S ROOM

Angels: Ohtani (elbow) threw a 33-pitch bullpen before the game. "Everything went pretty well," he said through a translator. "This was a very good step for me. I'm definitely moving forward. Hopefully I'll be able to pitch again this season." ... OF Mike Trout has left the team to handle a family matter. The Angels declined to say how long Trout would be away. The two-time AL MVP is eligible to come off the 10-day disabled list Thursday after missing time with a bruised right wrist. Los Angeles has 14 players on the DL.

UP NEXT

Angels: Rookie RHP Jaime Barria (7-7, 3.59 ERA) makes his 18th start of the year. He is 2-0 with a 2.70 ERA over his last three starts.

Padres: RHP Brett Kennedy (0-1) makes his second major league start, six days after allowing six runs in four innings against Milwaukee. He became the first pitcher since 1900 to give up three consecutive homers in the first inning of his debut.

___

More AP baseball: https://apnews.com/tag/MLBbaseball and https://twitter.com/AP_Sports