You get hearts from some defeated enemies. Usually around 2-3 per stage.
I found making sure you have at least half a heart missing sped this up by a couple of minutes.
I do a full run-through from about 12:30 in the video. The video is precisely how long it took for me playing for the first time to the 1000g completion.