Collins then moved to third on Nick Castellanos' single to right-center field before Kansas City closer Greg Holland entered to face Gonzalez, who ripped a single to left to plate Collins for the deciding run.
Joe Nathan (1-0), who signed with the Tigers as a free agent in the offseason, spun a 1-2-3 top of the ninth to pick up the victory. Justin Verlander made his seventh straight Opening Day start for Detroit and surrendered three runs -- two earned -- on six hits and three walks over six frames.
Victor Martinez stroked a solo home run for the defending AL Central champion Tigers, who made a winner out of Brad Ausmus in his managerial debut. Ausmus took the reins this offseason from Jim Leyland, who retired after leading the Tigers to their third straight ALCS appearance.
Salvador Perez went 4-for-4 with an RBI and a run scored for the Royals, who finished the 2013 season with their highest win total (86) since 1989, despite missing the playoffs for the 28th straight season.
Kansas City starter James Shields was charged for three runs on five hits over 6 1/3 innings.