Clinton Morrison and Mark Hudson scored to sink Bristol City and extend Crystal Palace's unbeaten run to 15 games. Morrison put the Eagles ahead when Jamie McAllister's attempted clearance cannoned into the net off his thigh.
Palace keeper Julian Speroni did well to deny Nick Carle on three occasions as City pressed for an equaliser.
Michael McIndoe also shot over for City but, after Morrison shot into the side-netting, Hudson made it 2-0 when he headed home Ben Watson's cross.
Crystal Palace manager Neil Warnock:
"The dressing room is super. The formula is hard work, it isn't rocket science.
"It was a very good result. We knew it would be hard. �
"I thought the first goal would be vital because when Bristol City go in front away they don't lose many."
Bristol City manager Gary Johnson:
"We had a couple of chances and didn't take them, but they are still four points behind us.
"If we lose a game we normally come back with a bit of a run and that's what we have to do again.
"They are going to be one of the 10 or 12 teams competing for a top-six place at the end of the season."
Crystal Palace: Speroni, Halls, Lawrence, Hudson, Hill, Scannell (Grabban 89), Derry, Watson, Soares, Scowcroft, Morrison (Hills 83).
Subs Not Used: Fletcher, Freedman, Moses.
Booked: Hill, Morrison.
Goals: Morrison 6, Hudson 85.
Bristol City: Basso, Orr, Fontaine, McCombe, McAllister, Sproule, Johnson, McIndoe, Elliott, Carle (Byfield 62), Showunmi (Trundle 74).
Subs Not Used: Weale, Noble, Skuse.
Booked: Sproule, Orr.
Att: 19,010
Ref: Jon Moss (W Yorkshire).
Bookmark with:
What are these?