The Tofffees struggled to cope with the sweltering conditions and went down to an 88th-minute effort from Christian Hernandez.
David Moyes' night was further soured in injury-time when John Heitinga saw red after picking up a second booking.
Both clubs struggled to create many openings in the first half in the stifling heat in front of a crowd of 18,582.
But the game opened up after the break as both sides made a number of substitutions, although Everton could not find a way through.
Jermaine Beckford spurned the Toffees' best chance after a clever ball from the impressive Mikel Arteta.
Hernandez, who came on as a 71st-minute substitute, fired home a left-footed strike to settle the contest late on and earn Union a prized scalp.
The Toffees will visit the nation's capital this weekend to take on DC United.