No-one came close to catching the teenager from Grenada down the home straight as he crossed the line well ahead of another 19-year-old, Luguelin Santos of the Dominican Republic.
Trinidadian Lalonde Gordon took the bronze.
James gave Grenada their first-ever Olympic Games medal, and afterwards he could hardly hide his delight.
He said: 'I didn't think about it at the race. It's a feeling I can't describe.
'They're probably having a street party (in Grenada).'