SEATTLE -- The Kansas City Royals picked a good day to turn in their first multi-homer game of the month.

Shortstop Alcides Escobar and second baseman Johnny Giavotella each hit a home run to drive in a combined seven runs Sunday, leading the Royals to a 9-7 win over the Seattle Mariners, who homered three times.

The teams split the four-game series at Safeco Field.

Giavotella's three-run homer capped off a four-run seventh inning as the Royals rallied back from a 7-5 deficit. Escobar gave Kansas City (18-19) an early 4-0 lead with a second-inning grand slam before Seattle came storming back behind two home runs from left fielder Dustin Ackley and a two-run shot from third baseman Kyle Seager.

The two teams combined for 23 hits, with Ackley and Kansas City left fielder Alex Gordon both going 3-for-4.

Neither starting pitcher made it past the fifth inning, and Kansas City's Louis Coleman (1-0) earned the win after a scoreless inning of relief. Seattle reliever Danny Farquhar (1-1) took the loss. Greg Holland, the sixth Royals pitcher to enter the game, earned his ninth save of the season with a scoreless ninth.

Escobar ended the Royals' home run drought to put Kansas City in front. It marked the first home run by a Kansas City player since Tuesday and only the third this month.

Seattle got back into the game with three runs in the bottom of the third. Ackley opened the frame with a solo shot, then shortstop Brad Miller ended an 0-for-19 slump with a two-run double to pull the Mariners to within 4-3.

The Royals added a run on a Nori Aoki RBI in the top of the fourth before Ackley and the Mariners struck again in the bottom of the inning.

Seager, who missed two consecutive games with flu-like symptoms, hit a two-run home run to tie the score 5-5. Ackley, who also homered in his final at-bat of Saturday's game, followed with another solo shot in the fourth to give the Mariners their first lead, 6-5. In addition to homering in three consecutive at-bats, Ackley turned in the first multi-homer game of his career.

Designated hitter Corey Hart added a two-out RBI single in the fifth inning to extend Seattle's lead to 7-5 and chase Kansas City starter Jeremy Guthrie from the game. Guthrie allowed seven runs off eight hits over 4 2/3 innings. He didn't allow a walk but gave up a season-high three home runs.

Seattle starter Roenis Elias struggled as well, giving up nine hits in five innings. Only three of the five runs he allowed were earned, and Elias had five strikeouts.

The Mariners committed five errors, three of them coming in the first four innings. Seager and first baseman Justin Smoak botched ground balls, leading to two unearned runs, while catcher Mike Zunino allowed a baserunner to advance on a throwing error in the fourth. Right fielder Cole Gillespie, a defensive replacement who came on in the top of the ninth inning, had two errors on one play when he mishandled a Gordon single and then threw the ball away on the relay to give up two extra bases.

NOTES: Mariners 3B Kyle Seager has four homers in Seattle's past three day games at home. ... Royals C Salvador Perez (calf) took Sunday's game off. ... Mariners RF Michael Saunders, who hyperextended his knee in Saturday night's win, was not in the lineup Sunday but came on to pinch-hit in the eighth. He struck out, and he did not play in the field. ... Mariners RHP Taijuan Walker (shoulder) and LHP James Paxton (lat muscle) both threw successful bullpen sessions before Sunday's game.