Veteran striker Nicky Forster deftly guided in a header to give Brighton the lead with 21 minutes gone. But Adam Hinshelwood's bizarre own goal put Colchester level, and Vernon's cool finish from Kemal Izzet's pass settled the issue three minutes from time.
There was no danger for Brighton when Hinshelwood marred his 100th appearance for the Seagulls by driving the ball into his own net eight minutes from the interval with keeper John Sullivan scrambling back helplessly.
Brighton striker Glenn Murray turned sharply in front of goal shortly after the break but his close-range shot was saved by keeper Jimmy Walker.
Midfielder Bradley Johnson, on loan from Leeds, had a goalbound shot blocked by keeper Walker after Murray's intelligent pass.
Colchester dominated possession for lengthy spells after the break and giant striker Clive Platt headed over from six yards midway through the half before Vernon won it for the visitors.