Gill's 60-ball knock -- his third ton in four IPL innings -- fired Gujarat to 233-3, a total they defended by bowling out five-time winners Mumbai for 171 in 18.2 overs in the final playoff which started late due to rain in Ahmedabad.
Named man of the match, Gill said: "I think this was probably my best innings so far in the IPL."
Skipper Hardik Pandya praised his opener, saying: "Today's innings was one of the finest, he never looked rushed. It felt like someone was throwing balls and he was hitting. He will be a superstar in international and franchise cricket."
Gill hit 10 sixes and put on a second-wicket stand of 138 with Sai Sudharsan, who made 43, to tear into the opposition attack at the world's biggest cricket stadium.
He became the leading batsman this season with 851 runs, surpassing Royal Challengers Bangalore skipper Faf du Plessis (730), before he reached his IPL best and the top score of this season.
Fast bowler Mohit Sharma took five wickets for Gujarat, who won last year's crown in a fairytale debut season, after a valiant 61 by Suryakumar Yadav.
The 132,000-capacity stadium had over 75,000 fans in attendance to witness the home team triumph.
Opener Gill, who is tipped as the future of Indian batting, made the most of a reprieve on 30 when Tim David dropped him off England fast bowler Chris Jordan.
The 23-year-old Gill brought up his fifty in 32 balls and then exploded to smash sixes and reach his hundred in 49 balls, taking a bow amid a standing ovation.
He finally fell to Akash Madhwal and Sudharsan retired out before Pandya, who made an unbeaten 13-ball 28, and Rashid Khan finished the innings on a high with 19 runs in the final over.
Mumbai's worries increased when wicketkeeper Ishan Kishan was injured after he was caught by the elbow of team-mate Jordan. He was later replaced by concussion substitute Vishnu Vinod.
Tilak Varma struck 43 off 14 balls as he smashed Mohammed Shami for four fours and a six in an over but was soon bowled by Rashid's leg spin.
Suryakumar attempted to mount the chase in his 38-ball knock and put on a key 51-run stand with Cameron Green, who hit 30 in a stop-start innings after being hit on the elbow by Pandya.
Ireland's left-arm quick Josh Little, who came in as an impact sub for Gill after the Gujarat innings, bowled Green.
Suryakumar made his fifty in 33 balls but was bowled by Mohit, who struck twice in one over to derail the innings.
Rashid trapped David lbw for two and hopes ended for Mumbai, who last won the crown in 2020.
"We had a great performance last game. We have to credit Shubman. I hope he continues that form," said skipper Rohit Sharma.
M.S. Dhoni's Chennai beat Gujarat in the first playoff earlier this week.