India squandered numerous scoring chances before two late goals sealed their 3-1 victory over Canada in the 25th Sultan Azlan Shah Cup hockey in Ipoh on Sunday.
Failing to exert pressure despite taking an early lead, India hung on grimly against several threatening Canadian raids to clinch their second victory in three outings.
Chandana Thimmaiah opened the Indian account in the third minute, but Keegan Pereira equalised for Canada in the 23rd minute to be 1-1 level at half-time.
Harmanpreet Singh converted a penalty corner in the 41st minute and Talwinder Singh capitalised on a Sardar Singh cross into the circle in the 67th to seal the fate of the match.
With six points from three outings, India are now third in the round-robin league standings. On top of the table are Australia with nine points from three successive wins, followed by New Zealand on eight from four outings.
Earlier in the day, Australia outplayed Pakistan 4-0, while New Zealand defeated Japan 4-1.
India's defence came under a lot of pressure against Canada, who like India are drawn in Group B of the Olympics in Rio de Janeiro.
Goalkeeper Harjot Singh made a blunder of conceding the first penalty corner, but made a few good saves before he was replaced by Akash Chikte in the second quarter. Both the goalkeepers saved four good cracks at the Indian citadel from the Canadian strikers.
India opened the scoring in the third minute off a fine long ball by Rupinder Pal Singh from deep inside the Indian territory that found unmarked SV Sunil on top of the Canadian circle.
Trapping the ball cleanly, Sunil sent a cross that beat goalkeeper David Carter and left Thimmaiah to top the ball into an open goal.
The game thereafter was confined to the midfield until Canada forced their first penalty corner in the 13th minute and the low shot from Gordon Johnston was blocked by Indian custodian Harjot.
Harjot again came to India's rescue in the next minute when he made another fine save on Pereira's lunging reverse drive from close range.
India then had a brief period of domination when they thrice made forays into the rival scoring zone, but failed to get their shots past the compact defence in the crowded circle.
It was against the run of play that Canada equalised in the 23rd minute on a fine counter when a long ball was relayed by Matthew Sermento to Pereira in the circle. With plenty of time and space allowed to him, Pereira made no mistake with his deft shot past the hapless goalkeeper.
Talwinder Singh had a chance to put India ahead again in the 27th minute when he received a cross from the left inside the circle, but the Canadian goalkeeper covered his shot well to ward off the danger.
Then it was again Canada's turn to give India some jitters as Sukhi Panesar took a shy at the goal, followed by two penalty corners in the last two minutes of the first half.
One of the penalty corners attempts went wide and Chikte moved well to his right to palm away a low shot.
India were put in the lead again in the 41st minute by Harmanpreet's rasping drag-flick on their first penalty corner. The stinging shot brooked no denial and ended in the top left corner of the net.
Ramandeep Singh had a fine opportunity to bolster the Indian lead in the 45th minute when he received a through ball from captain Sardar Singh in the circle. Ramandeep had only to beat a close-marking defender, but turned around and shot straight into the goalkeeper's pads.
Canada forced two penalty corners and the Indian defence lived dangerously before the ball sailed across the goal-line.
Talwinder capitalised on a fine opening created by Sardar's run down in the left flank and the defence splitting cross to the top of the circle.