At half time both the teams failed to break the deadlock.
Sporting had to play the last thirty five minutes with 10 men as Chandrasheker Chinta was sent off after he was adjudged to have pushed Clifford Miranda in the box, although the contact did not look intentional.
Dempo were awarded a penalty and Haroon calmly slotted home.
Sporting Clube de Goa sent out an early warning in the 15th minute after Sumit Ghosh rattled the cross bar with a powerful free kick.
Changing over, Melroy had to be replaced due to injury, which was a big loss for Sporting Goa.
After Sporting were reduced to 10 men, the only clear cut chance came when Dempo's Holciharan hit the post.
The Flaming Oranje tried to find the equaliser as they used up all of their allotted seven substitutions, but Dempo capitalised on their numerical advantage and held on.
