CHICAGO — Chris Sale returned from his jersey-trashing suspension and threw six effective innings, but John Lackey had a better night and Aroldis Chapman got the final four outs to save the Cubs’ 3-1 victory over the White Sox in Chicago’s rivalry series Thursday night.

Sale (14-4) was greeted with smiles and hugs from his teammates following a five-day ban for tearing up 1976-style uniforms he didn’t want to wear before his previous scheduled start. He had command issues, but worked out of trouble while allowing two runs and six hits.

Lackey (8-7) allowed one run in six innings for his first win since June 8. Chapman, in his second appearance since being acquired from the Yankees, struck out two and consistently hit 102 mph in his first save for his new team.

AMERICAN LEAGUE

TWINS 6, ORIOLES 2: Rookie Max Kepler continued his midseason surge with a game-tying home run among two hits and two RBI as Minnesota rallied to win at home.

The teams were squeezing in a makeup game from a May 9 postponement with Minnesota in the middle of a homestand and Baltimore heading for a weekend series at Toronto.

RANGERS 3, ROYALS 2: Mitch Moreland’s second home run of the game broke a tie in the eighth inning and Cole Hamels earned his 12th win of the season as Texas won at home.

Hamels (12-2) allowed two runs and six hits in eight innings, matching his longest start of the season. His 123 pitches were 10 more than his previous high for the year.

NATIONAL LEAGUE

CARDINALS 5, MARLINS 4: Aledmys Diaz homered, doubled and drove in three runs against childhood pal Jose Fernandez, helping St. Louis to a win at Miami.

Fernandez gave up five runs in five innings and fell to 26-2 at Marlins Park.

Miami’s Dee Gordon, the 2015 NL batting and stolen bases champion, returned from an 80-game suspension for failing a drug test and went 0 for 4. Ichiro Suzuki doubled as a pinch hitter in the seventh for Miami and needs two hits for 3,000.

Diaz and Matt Holliday homered in the third inning against Fernandez (12-5), who had never previously given up more than one homer in a home game. His only other loss at Marlins Park came on Opening Day this year against Detroit.

Michael Wacha (6-7) allowed three runs in six innings, and three relievers completed an eight-hitter.

ROCKIES 2, METS 1: Steady closer Jeurys Familia stumbled for a second straight game, allowing two runs in the ninth inning as Colorado earned its seventh win in eight games.

Less than 24 hours after Familia’s streak of 52 consecutive regular-season saves was snapped, the right-hander entered in the top of the ninth with a 1-0 lead, and couldn’t hold it.

Dealing with a rare early start to open a series because of a camp day at Citi Field, neither offense was able to do much against starters Jacob deGrom and Tyler Anderson.

DeGrom allowed only one runner to reach second base over seven innings of scoreless ball for the Mets.

BREWERS 6, DIAMONDBACKS 4: Hernan Perez hit a two-run homer, singled and scored the go-ahead run in the sixth as Milwaukee won at home.

Perez, who started at shortstop for the benched Jonathan Villar, crushed Robbie Ray’s first pitch 458 feet off the facing of the scoreboard in center for a two-run homer in the third.

PHILLIES 7, BRAVES 5: Aaron Altherr and Maikel Franco homered, and Aaron Nola won for the first time in eight starts as Philadelphia won at Atlanta.

Altherr returned to the lineup after missing the first 103 games of the season with a broken left wrist. He went 3 for 4 with two RBI.

Braves starter Matt Wisler (4-11) gave up three homers and has allowed eight homers in his past four starts.