Whit Merrifield and Ryan O’Hearn each hit a grand slam to lead the Kansas City Royals to a 12-2 romp over the Houston Astros on Tuesday night.

Danny Duffy (1-1) allowed six hits and two runs in 6 2/3 innings for his first win this season in his third start after missing the early part of the season with a shoulder injury.

Merrifield, who had four hits and finished a double shy of the cycle, tied a career high with five RBIs. Jorge Soler added a solo homer as the Royals snapped a two-game skid and won just their fifth road game this season.

Kansas City led 2-0 in the third inning when O’Hearn hit his first career grand slam into the seats in right field off Collin McHugh (3-4) to push the lead to 6-0 and give the Royals their first grand slam this season. Billy Hamilton doubled with no outs in the fourth and Merrifield chased McHugh with his RBI single that left Kansas City up 7-0.

McHugh allowed seven hits – six for extra bases – and eight runs in three-plus innings to lose his third straight decision after winning his previous three. McHugh has allowed 24 hits and 25 runs in his past four starts, all Astros losses.

Merrifield’s grand slam came off Framber Valdez with two outs in the seventh inning to make it 12-1 as the Royals had two grand slams in a game for the first time since 2004.

The Astros entered the game having hit 11 home runs in a three-game winning streak, but had trouble getting their offense going on Tuesday night. They had managed just two hits before Alex Bregman’s solo homer to left field with one out in the sixth inning made it 8-1.

Michael Brantley followed with a single, but Carlos Correa grounded into a double play to end the inning. Correa went 0 for 4 to end a career-long 16-game hitting streak.

Soler put the Royals up 1-0 in the second with his homer to straightaway center field off McHugh.

Merrifield tripled to start the third and scored on a double by Adalberto Mondesi to make it 2-0. Alex Gordon walked before Hunter Dozier grounded into a force out that left Gordon out at second before Soler walked to load the bases and set up O’Hearn’s slam.

Dozier started at third base on Tuesday for the first time since April 20 after serving as the team’s designated hitter for most of the past three weeks while dealing with tightness in his lower back. He hit an RBI triple with one out in the fourth to extend the lead to 8-0