Luton substitute Cauley Woodrow struck in injury-time to earn his side a second win at Goodison Park this season and book a place in the FA Cup fifth round.
The visitors, who had beaten their fellow Premier League strugglers 2-1 in September, went ahead late in the first half when Vitaliy Mykolenko put into this own net as Everton complained about a push on Dominic Calvert-Lewin.
Sean Dyche’s side levelled after 55 minutes when Harrison’s shot at Tim Krul squirmed out of the Dutch goalkeeper’s grasp and rolled over the line.