Kansas City Royals' Jorge Bonifacio hits a one-run triple against the Chicago White Sox during the fifth inning of a baseball game Saturday, July 14, 2018, in Chicago. (AP Photo/Nam Y. Huh)
Kansas City Royals' Jorge Bonifacio hits a one-run triple against the Chicago White Sox during the fifth inning of a baseball game Saturday, July 14, 2018, in Chicago. (AP Photo/Nam Y. Huh) Credit: Nam Y. Huh

Chicago — Jorge Bonifacio served his suspension for testing positive for a performance-enhancing substance, and he just wants to move on.

One swing at a time.

Bonifacio hit a two-run drive for his first homer since rejoining Kansas City late last month, helping the Royals beat the Chicago White Sox, 5-0, on Saturday for just their second win in July.

“I’ve been feeling pretty good lately,” he said. “I just want to keep working on that and keep swinging good.”

Bonifacio connected after Whit Merrifield led off the game with a single, sending a drive into the home bullpen in left. He also drove in Paulo Orlando with a triple in the fifth, providing more than enough support for Danny Duffy in the left-hander’s second straight scoreless outing.

The 25-year-old Bonifacio broke into the majors last year, hitting 17 homers in 113 games for Kansas City. But he missed the first part of this season after a positive test for Boldenone, resulting in an 80-game suspension.

“He knows he made a mistake, he knows he paid for it and now he’s going,” manager Ned Yost said.

Duffy (5-8) struck out eight while pitching seven innings of four-hit ball. He tossed six scoreless innings at Minnesota on Monday night, but left with a no-decision after the Twins rallied for a 3-1 win.

Marlins 2, Phillies 0

Miami — All-Star Aaron Nola gave up two runs in the first inning and Philadelphia never recovered, losing to Miami.

The NL East-leading Phillies have scored only 24 runs in their past nine games.

Nola (12-3) needed 31 pitches to get through the first. After he loaded the bases with none out, one run scored on a groundout, and another came home on Martin Prado’s two-out single. In that one inning, Nola surrendered as many runs as he had given up in his previous three starts combined.

Trevor Richards (3-5) pitched six innings and didn’t allow a run. Three relievers completed the eight-hitter, and Kyle Barraclough pitched around a pair of two-out singles in the ninth for his ninth save and the Marlins’ eighth shutout.

Diamondbacks 3, Braves 0

Atlanta — Zack Greinke added another road win to his strong first half by allowing only four hits in 7⅔ innings, extending Atlanta’s offensive slump, and Arizona shut out the Braves.

Greinke (10-5), named to the NL All-Star team on Thursday as a replacement for Chicago’s Jon Lester, has won five straight decisions. The 34-year-old right-hander has been especially strong away from home, winning five straight road starts since June 8.

Ketel Marte hit a sixth-inning homer for Arizona, who has won the first two games of the three-game series and has matched its 2017 team record of 53 wins before the All-Star break.

Astros 9, Tigers 1

Houston — Gerrit Cole struck out eight in 5⅔ strong innings, and Houston hit three home runs in a win over Detroit.

Cole (10-2) allowed one run and three hits with four walks after being activated from the bereavement list prior to the game. He threw six shutout innings in his last start Monday against Oakland.

Josh Reddick and Evan Gattis hit back-to-back solo homers in the fifth to chase Detroit starter Michael Fulmer (3-9). Tyler White added a two-run shot to left in the seventh.

Mets 7, Nationals 4

New York — Zack Wheeler won for the first time since April 29, Michael Conforto homered and New York defeated Washington.

Wilmer Flores, Jose Reyes and Kevin Plawecki each had two hits as the light-hitting Mets scored seven runs for the first time since June 24. New York came into the game last in the National League in batting average and was tied with San Diego for the third-fewest runs scored in the majors.

Rays 19, Twins 6

Minneapolis — Jake Bauers homered for the second straight game and drove in four runs, Carlos Gomez homered and had two RBIs, and Tampa Bay scored 15 times in the final three innings to rally past Minnesota.

C.J. Cron hit a two-run homer and Jesus Sucre, who entered in the sixth for injured catcher Wilson Ramos, drove in two runs for Tampa Bay. The Rays posted season-highs in runs and hits (20) after entering the game 2-34 this season when trailing after six innings.

Pirates 2, Brewers 1Pirates 6, Brewers 2

Pittsburgh — Starling Marte and Gregory Polanco hit back-to-back homers in the first inning, then repeated the feat later in the afternoon, to lift Pittsburgh past Milwaukee in a doubleheader sweep.

Marte sent an 0-1 pitch from Chase Anderson (6-7) in the opener over the center field wall to put the Pirates ahead 1-0. Polanco then drove Anderson’s 3-2 offering over the wall in right for his 15th long ball.

With the Pirates leading, 3-0, in the eighth of the nightcap, Marte hit his 13th homer over the left-field wall before Polanco hit his 16th over the wall in right-center to make it 5-0.

Orioles 1, Rangers 0

Baltimore — Rookie Yefry Ramirez and four relievers combined on a four-hitter, Jonathan Schoop drove in a run with a sixth-inning sacrifice fly and Baltimore beat Texas in a matchup of last-place teams.

Making his fourth start and bidding for his first major league victory, Ramirez pitched five innings of two-hit ball before being pulled in a scoreless game.

Brad Brach (1-2), Donnie Hart and Mychal Givens followed before Zach Britton worked the ninth for his third save.

Reds 8, Cardinals 2

St. Louis — Jose Peraza had a career-best five hits, Scooter Gennett drove in two runs and Cincinnati waited out a pair of rain delays before beating St. Louis.

Following the two days that totaled 2 hours, 43 minutes, Cincinnati trailed 2-0 after five innings before rallying for eight runs in its final four at-bats.

Gennett hit a 100 mph fastball off Jordan Hicks (3-2) to right field for a single to drive in Billy Hamilton with the bases loaded in the seventh inning to put the Reds ahead 3-2.

Peraza’s 5-for-6 performance came after he had registered four hits on four previous occasions, most recently on April 27 at Minnesota. He tied the game at 2 in the seventh when he singled on a chopper up the middle that bounced off Hicks’ pitching hand to drive in Dilson Herrera.

Cincinnati has won three straight against St. Louis after having dropped 13 in a row to the Cardinals.

Hicks allowed four runs on four hits, a walk, and one hit batter while recording just one out in the seventh inning.

Austin Brice (2-2) retired both batters he faced in the sixth after replacing Kyle Crockett, who opened the inning.

Gennett hit a double to left field off Mike Mayers in the sixth inning to score Joey Votto. He has 44 RBIs in 83 career games against St. Louis.

Jack Flaherty allowed two hits in five scoreless innings. He returned following a 52-minute rain delay after the first inning, but was removed from the game after play was halted for 1 hour, 51 minutes after the fifth.

Luis Castillo allowed two runs on five hits in five innings.

Matt Carpenter hit his 18th home run of the season in the first inning. It was his 19th career leadoff home run and fourth in 2018. He has 36 extra-base hits since May 15.

IRON MAN:

Yadier Molina started his 1,801st game at catcher to move past Tony Peña into eighth place in combined regular season and postseason starts behind the plate.

TRAINER’S ROOM:

Reds: RF Scott Schebler departed in the sixth inning after running into the right-field wall after catching Molina’s fly.

Cardinals: OF Tyler O’Neill began a 20-day injury rehabilitation assignment with Triple-A Memphis, where he went hitless in three at-bats Saturday with a strikeout at Omaha. O’Neill has been sidelined since July 5 with a left hamstring strain.

UP NEXT:

RHP Anthony DeSclafani (4-1, 4.43) will face RHP Miles Mikolas (10-3, 2.65). DeSclafani has won his last four decisions and is 5-1 with a 2.30 ERA in eight career outings against the Cardinals. Mikolas will represent the Cardinals at the All-Star Game at Nationals Park on Tuesday but will not pitch.

___

More AP baseball: https://apnews.com/tag/MLBbaseball