On his seventh start of the campaign, the utility man scored to bring The Eagles level at Etihad Stadium, before three more goals pegged the score at 3-2 in favour of the away side.
Ilkay Gundogan put City in the lead in the 27th minute with a header that sailed past Vicente Guaita.
Schlupp, however, hit back for Palace in the 33rd minute. After receiving a pass from James McArthur, the 25-year-old drove into the box and sent a low shot into the right bottom corner of the net to make it 1-1.
There was more shock at Etihad three minutes later when Andros Townsend unleashed a ferocious volley from outside the box into the net to put The Eagles 2-1 up.
Luka Milivojevic then made it 3-1 with a penalty but injury returnee Kevin De Bruyne netted for City five minutes to full-time to settle the score at 3-2.
The result has pushed Palace up to 14th on the league table, while second-placed City now sit four points adrift of leaders Liverpool, who beat Wolverhampton Wanderers 2-0 on Saturday.