Mendoza didn't allow a hit while nursing a 1-0 lead through six full frames, but Ryan Braun broke up the bid when he led off the seventh by grounding a pitch to third baseman Mike Moustakas, whose throw to first was late and wild.
Braun went to second on the throw, and then advanced to third when Chris Getz threw wildly while attempting to nail him at second.
After Mendoza walked Aramis Ramirez, Aaron Crow came in to pitch and Braun was thrown out at home while trying to score on Taylor Green's fly ball.
Ramirez went to second on the play and scored the tying run on Rickie Weeks' single.
The Royals came back in the eighth off Francisco Rodriguez (0-4) when Alex Gordon doubled and later scored on Butler's solid hit to center, handing Kansas City a win in the first of a three-game interleague set.
Greg Holland (2-2) earned the victory with a scoreless eighth and Jonathan Broxton racked up his 15th save despite allowing two hits in the ninth.