Rain delayed the toss for more than four hours on Saturday and reduced the match to 25 overs per side. India won with 13 balls to spare with 3-195 in reply to Afghanistan's 194 all out.
Gill, the India captain, hit 11 fours and two sixes with help from KL Rahul, 39 not out off 19 balls.
Rahmanullah Gurbaz's 102 off 51 balls went in vain, though he helped Afghanistan recover from 7-54.
Put into bat, Afghanistan were cut down to 3-26 in 4.3 overs when Gurbaz counterattacked.
He hit four sixes and four boundaries en route to 50 off only 25 balls. The next 50 came off 23 balls with another four sixes and four fours, the ninth century for Gurbaz and the first for an Afghanistan batter against India.
It was also the second quickest ODI century against India after Shahid Afridi took 45 balls in 2005 for Pakistan.
Gurbaz was eventually bowled in the 16th over, off Nitish Reddy, after putting on 116 off 66 balls with captain Hashmatullah Shahidi (27).
India debutants did well. Pacer Gurnoor Brar took 3-27 and left-arm spinner Harsh Dubey 3-47.
In reply, Rohit Sharma was run out on 16 but Gill carried his form over from the Indian Premier League, scoring his 18th ODI half-century off 37 balls.
Ishan Kishan added 34 runs and Shreyas Iyer 12, but Gill and Rahul hung tough. They put on 53 unbeaten together off 32 balls and Rahul cleaned up with three sixes and four boundaries in only 19 balls.
Lucknow hosts the second ODI on Wednesday and Chennai stages the third and last match on June 20.