Andros Townsend's sensational first-half strike helped Crystal Palace defeat Manchester City away from home for the first time in 28 years.

The winger's goal of the season contender came shortly after Jeffrey Schlupp levelled the scores following an opener from Ilkay Gundogan.

Luka Milivojevic would convert from the penalty spot to extend Palace's lead, and while Kevin de Bruyne's late goal cut into the advantage it proved too tough a mountain to climb for the defending champions.

Here's how we rated Crystal Palace's players...

Vicente Guaita - 6 - Made some reasonably good saves while Palace were under the cosh, though he should have done better for de Bruyne's goal.

Aaron Wan Bissaka - 8 - He really has made the right back berth his own and this was another impressive performance for the young and budding defender at the back.

James Tomkins - 9 - He was everywhere at the back, meeting aerial balls with conviction and cutting out dangerous passes. With Sakho, the pair were instrumental.

Mamadou Sakho - 9 - There are similarly high praises for him alongside Tomkins. He recovered from an erroneous pass to grow into the game and nullify City's threat up top.

Patrick van Aanholt - 8 - Got booked for a poor challenge on de Bruyne late on, though it was a small blemish on an otherwise superb outing for the full back.

James McArthur - 7 - Got himself about well, both in attack and defence, making key interceptions. Booked late on for a poor foul.

Luka Milivojevic - 8 - The captain is returning to the form Palace fans are used to. He occasionally struggled to distribute against a very high pressure City but led by example in midfield.

Jeffrey Schlupp - 8 - Hit a wonderful strike to level the scores, was a great energetic presence in the middle of the park as Palace were left hurting with the absence of Cheikhou Kouyaté.

Max Meyer - 7 - Performed reasonably well in a wide berth he is not used to. Helped out well defensively with van Aanholt. Came off late for Puncheon.

Andros Townsend - 9 - That first-half strike gets better with every replay, it seems. What a goal. He usually puts in a huge shift with his work rate but his goal was worthy of winning any game.

Wilfried Zaha - 7 - As usual, he was Palace's outlet in attack but caused problems for City's defence with his runs. Faded a little bit in the second half, however, particularly after being booked. Came off for Ayew.

SUBS

Jordan Ayew - N/A

Jason Puncheon - N/A