Kansas City had a 3-1 lead heading into the fifth, when the Tigers climbed to within a run on a double by Fielder that drove in Miguel Cabrera.
Detroit then put runners on first and third with two away in the seventh before a wild pitch by Jose Mijares (0-1) allowed Gerald Laird to score. Cabrera went from first to second on the wild pitch and he scored the winning run on Fielder's single up the middle.
The Royals have started 0-6 at home for the first time in the history of the franchise.
Max Scherzer (1-1) picked up the win, giving up three runs on seven hits in six-plus innings. Jose Valverde claimed his third save, putting runners on first and second with one out in the ninth before getting Alcides Escobar to ground into a game-ending double play.
Detroit hosts Texas in a four-game series beginning Thursday in a meeting of the teams with the top two records in the American League.