Harmanpreet (45th and 90 minutes) slammed home two set pieces at the Taman Daya Hockey Stadium to take his goals tally to eight in the tournament. For Great Britain Samuel French (55th minute) was the lone goal score.
Great Britain, unbeaten in the preliminary round, came into the final with a psychological advantage over India having beaten them 2-0 in their round-robin clash. But defending champions India had a record to play for as they wanted to be the first team to win the title twice since the inception of SOJC in 2011.
Malaysia had won the inaugural title with Germany winning in 2012 and India last year. And the young Indians duely achieved their goal with a late winner from Harmanpreet. Harmanpreet scored his second and the all-important winner for India with just 45 seconds from time by converting his second penalty corner of the day.
It was a hard-fought encounter between India and Great Britain as both the teams did not give an inch to each other atleast in the opening half. But India finally took the lead in the 45th minute through a Harmanpreet's penalty corner conversion.
Varun Kumar then got a chance to double India's lead but his attempt from a penalty corner in the 53rd flew inches wide. Great Britain then added salt to India's wound when French converted a penalty corner in the 55th minute to level scores at 1-1.
A controversy then erupted in the 62nd minute when Indian custodian Abhnav Pandey was shown the green card and an outfield player was taken off to bring on substitute keeper Subodh Tirkey. With the match heading towards a shot-off, India were awarded another penalty corner just 45 seconds from the hooter and Harmanpreet duly convert the chance to help India retain the title.
In the bronze medal play-off earlier in the day, Australia defeated New Zealand 6-2 to finish third.