Colchester United returned to form at Selhurst Park as the U's condemned Crystal Palace to their sixth home defeat of the season.
Second-half goals from Karl Duguid, substitute Richard Garcia and a late penalty from Chris Iwelumo, gave Colchester a rare victory on the road - just their second of the season.
The Eagles started at a cracking pace and Jobi McAnuff had five attempts on goal in the first half-hour.
But Colchester stood firm as they reaped the benefit from Palace's poor finishing, and after the break this encounter turned into a 'game of two halves'.
The Eagles lost their on-loan keeper Iain Turner on 23 minutes with a leg injury and Scott Flinders took over between the sticks. But the young keeper should have prevented the first goal on 63 minutes when Jamie Cureton floated over a deep cross.
Flinders should have safely tipped the ball over the bar but it clipped the underside of the bar and skipper Duguid forced the ball over after a scramble on the goal-line.
Seven minutes later substitute Garcia hammered a beauty home from the edge of the area after Palace's midfielder Ben Watson had lost out with a poor tackle in midfield.
By now Palace looked a truly dispirited side but Clinton Morrison offered a bit of hope as he tucked away a header after Mark Hudson had headed on Stuart Green's free-kick.
But such hope lasted barely 60 seconds when Hudson was harshly adjudged to have pulled down Garcia. From the spot-kick Iwelumo made no mistake with a firm right-foot shot which went straight down the middle.
After a four-game unbeaten run, Palace are back to their old ways and the home fans that decided to stay until the final whistle were not a happy lot as boss Peter Taylor left at the end towards the exit.