Seasoned Rani Rampaul opened the scoring in the 22nd minute followed by Poonam Rani in the 29th minute while Jaspreet Kaur scored twice with successful dragflicks in the 37th and 52nd minute respectively.
For Canada, Brienne Stairs and Karli Johannsen were the scorers. India are currently placed second in the group as South Africa walloped Trinidad & Tobago 16-0 in another group league match.
India dominated the match for the better part with Vandana Katariya, playing her 100th international game, controlling the proceedings down wide right.
However, the joy was short-lived as Canada equalised within three minutes when defender Grace Ekka failed to clear a scoop from the opposition defence, as Stairs sprinted down unchallenged before placing it past custodian Savita Punia.
Also Read
The Indians got back the lead within two minutes when Poonam Rani stabbed home an angled crack taken by Jaspreet off a penalty corner.
The Indians increased their lead just after the change of ends when Jaspreet's low drag-flick, placed to the left of the Canadian goalie Kaitlyn Williams, went in to make it 3-1.
However, Jaspreet sealed the match in India's favour in the 52nd minute with classical drag-flick conversion straight on the upper part inside the net.