Alex Gordon hit his first homer of the season in the 10th inning Wednesday, giving the Kansas City Royals a 4-3 victory over the Toronto Blue Jays.

Jose Guillen hit a three-run homer for Kansas City and Alex Gonzalez had a two-run shot for Toronto, before the Blue Jays scored a run in the eighth inning to tie the game.

Gordon drove a 1-0 pitch from Scott Downs (0-1) to center with two out in the 10th inning, disappointing the crowd of 15,577. It was just the second hit of the season for Gordon, who returned to the lineup Saturday after missing the first 10 games with a broken right thumb.

Robinson Tejeda (1-1) worked one inning for the win and Joakim Soria finished for his fourth save as the Royals avoided a series sweep.

Zack Greinke pitched seven sharp innings, allowing two runs and two hits while striking out eight, and handed a 3-2 lead over to the Royals' beleaguered bullpen.

Josh Rupe gave up a leadoff single to Jose Molina, who was replaced by pinch runner Mike McCoy. John McDonald sacrificed him to second before John Parrish came on to face Fred Lewis, who lined an RBI single off the glove of second baseman Alberto Callaspo.

Lewis stole second base, but Parrish struck out Gonzalez and Adam Lind grounded out to end the threat.

Kansas City jumped on the Blue Jays' Shaun Marcum in the first. Scott Podsednik hit a one-out single and went to third on Billy Butler's double before Guillen homered to left, his sixth of the season.

Greinke, the defending AL Cy Young winner, had one of his worst starts of last season in Toronto, allowing seven runs and nine hits in five innings during a 9-3 loss June 5. The right-hander came in 1-4 with a 7.07 ERA in five starts at Rogers Centre.

He didn't allow a hit through the first three innings and erased his only baserunner with a double play. But Greinke hit Lewis to begin the third, then gave up the two-run homer to Gonzalez, his fifth of the year.

NOTES: Royals catcher Jason Kendall reached on a bunt single in the seventh, extending his hitting streak to 14 games. ... Podsednik returned to the lineup after missing two games because of a family emergency. He was caught stealing in the sixth, the first time he's been thrown out this season. ... Royals RHP Roman Colon, who was designated for assignment, cleared waivers and will be sent to Triple-A Omaha.