Cruz's three-run drive off Liam Hendricks put Seattle up 6-2 during a four-run eighth. Cruz also had RBI singles in the first and third to give him a big league-best 68 RBI.
"It was special," said Cruz, who has been dealing with a sore right knee. "I came a long way. Not only what I did in baseball, in the minors, where I come from in the Dominican. Never in my dreams did I think about 300 homers in the big leagues."
Paxton (7-3) did not allow a hit after Marcus Semien's two-run double in the second. The left-hander matched a season high with nine strikeouts while walking three and hitting a batter. Nick Vincent pitched a perfect eighth, and Mark Rzepczynski and Steve Cishek finished.
Paxton has won consecutive starts after losing three of four and struggling in his return from the disabled list in May.
"It's getting closer, just getting more and more comfortable," said Paxton, who was 3-0 with a 1.43 ERA in six starts before going on the DL, 3-3 with a 5.15 ERA in seven starts previous starts after returning. "Used the changeup again tonight, I was feeling good, moving the fastball around a little bit, and then kind of humped it up in the end there to get through those last two."
Sean Manaea (7-5) gave up three runs and eight hits in seven innings. Manaea, 6-1 in his previous nine starts, struck out three and walked one.
"They were in a definite swing mode," Manaea said. "When you can throw strikes and not get behind guys, it makes things a little better. I was just trying to go inside on some guys and try to move their feet, just using the change up. I'm finally starting to get the feel for my slider back. As the game progressed, everything definitely improved. I definitely made some mistake pitches that I wish I could have back."
"Only fitting that our No. 4-hole hitter carried us tonight," Mariners manager Scott Servais said of Cruz. "Awesome night by him. He was locked in the whole night. The at-bats were good and the big home run late was exactly what the doctor ordered."
The Mariners had climbed from eight games under .500 to a season-best two over at 39-37, but were 2-9 since then entering Friday's game, including eight straight losses at home.
"I think it was real important to get this one tonight," Paxton said. "And, hopefully get us going on the right track in the next couple days here and go into the break strong."
CANO NAMED AN ALL-STAR
Mariners 2B Robinson Cano was named Friday to the All-Star team as an injury replacement. It is his eighth career selection and third with the Mariners. Cano entered Friday hitting .279 with 13 doubles, 17 homers and 60 RBI.
Athletics: RHP Chris Bassitt, on the 60-day DL following Tommy John surgery, could join the A's in a relief role at some point, manager Bob Melvin said. Bassitt pitched one inning Thursday night on a rehab start with Class A Stockton. "As far as options of getting him here this year, it might be in a relief-type role and I think he's got a chance to be really effective doing that, as well," Melvin said.
Mariners: INF Shawn O'Malley, on the 60-day DL recovering from appendix surgery, is scheduled to begin his rehab Friday or Saturday as DH in an Arizona League game, with an August return possible. ... RHP Shae Simmons (elbow), acquired in an offseason trade with Atlanta, could join the Mariners after the All-Star break.
Athletics: Chris Smith is set to make his first major league start at 36 years old, which would make him the oldest pitcher in A's history to make his big league starting debut. Smith has made 164 minor league starts and 64 relief appearances in the majors, including 13 last season with Oakland.
Mariners: RHP Andrew Moore (1-1, 3.60) makes his third major league start. He has allowed three runs in each of his two starts, lasting seven and then eight innings. Moore has given up three home runs.