DETROIT — Omar Infante hit a three-run homer in the sixth inning and had an RBI single in a four-run fifth against former teammate Justin Verlander as Kansas City beat Detroit.
The Royals have won a season-high eight straight to pull within a half-game of the AL Central-leading Tigers.
Detroit scored six runs in the ninth inning and pulled within three on J.D. Martinez's two-out grand slam off Donnie Joseph.
Michael Mariot struck out Austin Jackson looking for the final out.
Jason Vargas (7-2) gave up two runs on seven hits and two walks to win his third straight.
Verlander (6-7) allowed seven earned runs in consecutive starts for the first time in his career, giving up a season-high 12 hits and striking out two over six innings.
CARDINALS 6, METS 2
ST. LOUIS — Allen Craig and Matt Adams each had two RBIs and St. Louis got effective work from rookie pitchers subbing for ace Adam Wainwright.
Carlos Martinez allowed an unearned run in four innings in his second career start and Nick Greenwood (1-0) allowed a run on two hits in 3 1-3 innings to win in his major league debut for the Cardinals, who have won seven of eight.
Matt Holliday had two hits, including a single for his 1,000th career RBI in a four-run fifth that put the Cardinals up 6-1.
Jacob deGrom (0-4) gave up six runs on 12 hits in 4 1-3 innings in his seventh career start.
Mets manager Terry Collins batted the pitcher eighth for the first time in franchise history, but New York mustered just five hits and lost for the 10th time in 13 games.
BOSTON 1, MINNESOTA 0
BOSTON — Rubby De La Rosa matched his first career Fenway Park start with another seven impressive innings and A.J. Pierzynski had a sacrifice fly, lifting the Boston Red Sox to a 1-0 win over the Minnesota Twins on Monday night.
Mike Napoli helped get a runner trying to score with a heads up play in a Red Sox victory that came after two one-run losses. Boston is 9-15 in one-run games.
De La Rosa (2-2) gave up only a single in the third inning as he combined with three relievers on a three-hitter. He walked three and struck out three.
Andrew Miller struck out the only batter he faced, Burke Badenhop got two outs and Koji Uehara three outs to remain perfect in 15 save chances. He extended his streak to 31 straight saves over the past two regular seasons.
Kevin Correia (3-8) gave up five hits, walking one and striking out two in six innings.