CHICAGO -- Jon Lester recovered from a rut of bad starts, pitching six shutout innings to help the Chicago Cubs rout the Seattle Mariners 12-1 on Friday for their third straight victory.

Jason Heyward and David Ross homered and the NL Central leaders improved to 10-5 since a 1-9 slump.

Seattle lost in its first trip to Wrigley Field since 2007. The Mariners let infielder Luis Sardinas pitch the eighth, and he threw a perfect inning.

Lester (11-4) had lasted just 16 innings over his previous four starts, going 1-1 with a 10.13 ERA. That skid came after he had gone 9-3 with a 2.03 ERA in his first 16 starts. Lester gave up four hits, struck out seven and walked two. He was already done when there was a 74-minute rain delay in the seventh.

Chicago's Kris Bryant reached base all five times he came up. He singled twice, doubled and walked twice. Hisashi Iwakuma (11-7) was the loser.

CARDINALS 11, MARLINS 6

MIAMI (AP) -- Tommy Pham homered and drove in three runs in St. Louis' victory over Miami.

Kolten Wong had three hits and drove in two runs and Jeremy Hazelbaker hit a two-run homer for St. Louis. The Cardinals have won four of five and lead the Marlins by a game in the NL wild-card standings.

Marlins outfielder Ichiro Suzuki went 0 for 4 to remain at 2,998 career hits.

Martin Prado homered and drove in three runs, and Marcell Ozuna also homered for the Marlins.

Mike Leake (8-8) was the winner. Jose Urena (1-3) took the loss.

BLUE JAYS 6, ORIOLES 5

TORONTO (AP) -- Jose Bautista, Edwin Encarnacion and Troy Tulowitzki hit solo home runs in the first inning, Marco Estrada snapped a four-start winless streak and Toronto beat Baltimore.

Encarnacion reached base three times and scored twice to help the Blue Jays win the opener of a three-game series between the top two teams in the AL East, cutting Baltimore's division lead to a half-game. The Orioles have lost four straight.

Estrada (6-4) allowed four runs, three earned, and five hits in six innings.

Joaquin Benoit worked the seventh, Jason Grilli gave up Manny Machado's solo home run in the eighth and Roberto Osuna finished for his 22nd save.

Mark Trumbo's two-out double gave Baltimore a 2-0 lead in the top of the first but the Blue Jays answered with a trio of solo shots in the bottom half against Kevin Gausman (2-8).

ROCKIES 6, METS 1

NEW YORK (AP) -- Tyler Chatwood kept winning on the road, Carlos Gonzalez homered and drove in four runs and Colorado beat New York for its fourth straight victory.

Mark Reynolds also homered for the surging Rockies. They are 11-4 since the All-Star break and have moved within four games of Miami for the second NL wild-card spot.

Chatwood (10-6) improved to 6-0 with a 1.30 ERA away from Coors Field this season. The 26-year-old is 4-6 with a 5.69 ERA at home.

Gonzalez matched a season-high hitting streak of 11 games with an RBI double in the first. He hit a 448-foot, three-run drive in the ninth for his 21st homer.

Steven Matz (8-7) was the loser.

RANGERS 8, ROYALS 3

ARLINGTON, Texas (AP) -- Rougned Odor homered twice, and A.J. Griffin pitched into the sixth inning in Texas' victory over Kansas City.

Jurickson Profar also went deep for the Rangers, and scored three runs.

Odour hit a solo homer in the first that put AL West-leading Texas up 3-0 against Edinson Volquez (8-9). That 443-foot drive into the second deck of seats in right field came a night after Odor's 465-footer that is the longest in his career. He had another solo shot in the seventh, his 21st of the season barely clearing the 8-foot wall in right.

Griffin (4-1) struck out one and walked two in 5 2-3 innings.

Eric Hosmer homered for the defending World Series champion Royals. They dropped 10 games behind Cleveland in the AL Central.

BREWERS 3, PIRATES 1

MILWAUKEE (AP) -- Junior Guerra limited Pittsburgh to four hits over 8 2/3 innings, and Chris Carter hit a two-run home run in Milwaukee's victory.

The Pirates managed Andrew McCutchen's RBI groundout off Guerra (7-2), who departed with two on and two outs in the ninth. Jeremy Jeffress got Jung Ho Kang to ground out to third on one pitch to record his 25th save in 26 chances.

Guerra's scoreless streak was snapped at 20 innings. He struck out five and walked one.

Pirates rookie Steven Brault (0-1) gave up three runs and seven hits over six innings.

INDIANS 5, ATHLETICS 3

CLEVELAND (AP) -- Abraham Almonte scored the go-ahead run on a wild pitch in Cleveland's four-run seventh inning in the Indians' comeback victory over Oakland.

Cleveland erased a 3-1 deficit after being held to four hits through six innings. Jason Kipnis' bases-loaded single tied it, and Almonte scored from third on Ryan Dull's wild pitch one batter later.

Carlos Santana homered in the sixth for Cleveland.

Cody Anderson (2-4) pitched a scoreless seventh. Cody Allen worked out of ninth-inning trouble for 20th save. Kendall Graveman (7-7) was the loser.

Josh Reddick and Khris Davis hit back-to-back homers in the sixth for Oakland.

TIGERS 14, ASTROS 6

DETROIT (AP) -- Tyler Collins and Justin Upton each hit a three-run homer, helping Detroit beat Houston for its fourth straight victory.

James McCann added a solo shot in the eighth and Cameron Maybin had three hits and scored three times. Jose Altuve and Jake Marisnek homered for Houston. The Astros lost for the third time in four games.

Matt Boyd (2-2) allowed three runs on four hits in five innings. He walked one while striking out six. Collin McHugh (7-7) didn't make it out of the second inning.

RAYS 5, YANKEES 1

ST. PETERSBURG, Fla. (AP) -- Jake Odorizzi pitched masterfully into the seventh inning, Logan Forsythe and Corey Dickerson hit solo homers in the first, and Tampa Bay Rays cooled off New York.

The Yankees had won eight of 11 to close within 3 1/2 games of Boston for the second AL wild card.

Odorizzi (5-5) struck out five and allowed six hits over 6 2/3 innings. Alex Colome entered with two on and one out in the ninth, and got two straight outs for his 23rd save.

Ivan Nova (7-6) gave up five runs and six hits in 4 1/3 innings.

TWINS 2, WHITE SOX 1, 12 INNINGS

MINNEAPOLIS (AP) -- Pinch-hitter Joe Mauer drew a bases-loaded walk with one out in the bottom of the 12th inning to lift Minnesota over Chicago.

Dan Jennings (4-3) hit Eddie Rosario with a full-count pitch to lead off the 12th. One out later, Byron Buxton walked. Reliever Tommy Kahnle then came on and walked Brian Dozier and Mauer to push across the winning run. Trevor May (2-2) pitched a perfect 12th.

Adam Eaton put the White Sox on the board early when he led off the game with a long home run to right-centre field. After that, however, only one White Sox runner reached second base against Nolasco.

Kennys Vargas drove in a run with a blooper to short right field in the sixth. However, Miguel Sano, who had doubled, ran through a stop sign at third base and Eaton's throw easily beat him to the plate.

BRAVES 2, PHILLIES 1

ATLANTA (AP) -- Tyrell Jenkins earned his first career victory, pitching six innings and helping the Atlanta beat Philadelphia.

Jenkins, acquired in the November 2014 trade that sent Jason Heyward to St. Louis, began the game with a 6.43 ERA and 26 baserunners allowed in his first three career starts, a span of 14 innings.

Jenkins (1-2) did a lot better against the Phillies, allowing one unearned run on four hits and four walks. He struck out four.

Jim Johnson, the fourth Atlanta pitcher, earned his fifth save in eight chances. Vince Velasquez (8-3) gave up seven hits, two runs, two walks and struck out five in six innings.