Calhoun hit a two-run homer, Richards pitched effectively into the sixth inning and the Los Angeles Angels beat the Mariners 7-4 on Wednesday to snap Seattle's eight-game winning streak.
Batting in the leadoff spot for only the fourth time this season, Calhoun had three hits and drove in three runs to help lift Richards (5-4) in his return.
Calhoun's towering homer in the sixth gave the Angels a 6-2 lead. He also had a single in the fourth inning for his first RBI. Calhoun is batting .306 with four homers and eight RBI since coming off the DL on June 18. He was hitting .145 before that break.
"Kole did his job today," Angels manager Mike Scioscia said. "That's what we need from the guys at the top of the order. It gave us a lot of opportunities today."
"I just overthrew a couple of heaters there," Richards said of the home runs. "But I felt good. The hamstring felt good. I knew I would be on a leash (80 pitches), so I just tried to execute pitches."
Richards retired 10 of the next 11 hitters he faced after the home runs.
"Garrett just exhaled (after the homers) and made some really good pitches," Scioscia said. "He gave us a chance to win the game."
Blake Parker pitched out of trouble in the ninth for his 10th save. Mike Zunino singled and Denard Span doubled to put runners at second and third, but Dee Gordon flied out to center and Zunino was thrown out at the plate on Jean Segura's grounder to Albert Pujols at first. Mitch Haniger ended it with a groundout to third.
Parker failed to cover first on the grounder to Pujols, so Pujols had no choice but to throw home.
"Pujols getting that guy at the plate was a huge out," Scioscia said. "The pitcher didn't cover there, so Albert made a great decision and threw a strike to the plate."
The Mariners had their chances, including a bases-loaded, no-outs situation in the seventh inning when trailing 6-3. After Gordon and Span struck out, Segura hit a broken-bat flare that looked like it might drop behind second base and score two runs, but Angels second baseman David Fletcher made a leaping catch to end the inning.
"I got a pretty good read off the bat," Fletcher said. "I kind of felt I had a bead on it all the way. It was a nice feeling to save those runs from scoring."
The Mariners struck out 15 times and left eight men on base.
Mike Leake (8-5) allowed four runs and nine hits before leaving with no one out in the fifth. He had allowed two runs or less in seven of his previous eight starts.
"They were battling me, fouling balls off today," Leake said. "Trying to get them to go down, but they found some holes and that's about it."
Angels: OF Chris Young was placed on the 10-day DL a day after straining his hamstring. LHP Tyler Skaggs was also placed on the DL with a thigh strain. Skaggs said hopes to miss only one start. OF Jabari Blash and RHP Deck McGuire were recalled from Triple-A Salt Lake, with INF Kaleb Cowart also optioned to Triple-A. ... LHP John Lamb will undergo Tommy John surgery on his left elbow early next week. He'll become the fourth Angels pitcher to have the procedure this season.
Mariners: Manager Scott Servais said RHP Erasmo Ramirez could begin a rehab assignment soon. Ramirez has been on the DL since May 1 because of a right teres major muscle strain in his pitching shoulder. Ramirez said is willing to pitch in relief if that's where he's needed.
Angels RHP Jaime Barria (5-4, 3.40) will start Thursday's series finale in place of Skaggs. Barria is making his 12th start of the season and has given up two earned runs or fewer in four of his last five starts. LHP Marco Gonzales (8-5, 3.77) will make his 18th start for Seattle. Gonzales pitched the first complete game of his career in his last start, a 4-1 victory over Kansas City when he allowed six hits and didn't walk a batter.
More AP baseball: https://apnews.com/tag/MLBbaseball
Flashback: Freddie Freeman meets his Halloween doppelganger
Freddie Freeman offers to take a photo with a kid who dressed up as him for Halloween.
Jon Lester hopes to remain with Chicago Cubs after team declines $25 million option
While the Cubs declined the $25 million team option on pitcher Jon Lester Friday, they are likely to announce picking up the $16.5 million option on first baseman Anthony Rizzo before a Sunday deadline, sources told ESPN's Jesse Rogers.
New York Mets claim right-handers Nick Tropeano, Jacob Barnes off waivers
Looking to bolster their pitching staff, the New York Mets claimed right-handers Nick Tropeano and Jacob Barnes off waivers on Friday.
Miami Marlins decline $4M option for reliever Brandon Kintzler
Miami declined their $4 million option on Brandon Kintzler. The reliever will get a $250,000 buyout.
Chicago White Sox decline options on Edwin Encarnacion, Gio Gonzalez
Designated hitter Edwin Encarnacion and left-hander Gio Gonzalez are free agents after the Chicago White Sox declined their 2021 contract options on Friday.
Indians decline options on Brad Hand, Carlos Santana, Domingo Santana
The Indians declined 2021 options on first baseman Carlos Santana ($17.5M), relief pitcher Brad Hand ($10M) and outfielder Domingo Santana ($5M) but decided to keep catcher Roberto Perez in the fold.