Gordon provided solo shots in the first and seventh innings while Salvador Perez added two-run clout and Billy Butler chipped in with a bases-empty bomb for the Royals.
The start of the contest was delayed more than 3 hours by rain.
Luis Mendoza (6-8) earned the victory, allowing three runs on seven hits through six innings as the Royals took their second triumph in a four-game series.
O's starter Chris Tillman (5-2) was rocked for six runs on six hits in a 5 2/3-inning effort.
Omar Quintanilla drove in a pair of runs for Baltimore.