Nicky Maynard grabbed his fourth goal in three games to give Bristol City a deserved 1-0 Coca-Cola Championship victory over Crystal Palace at Ashton Gate.
With only two minutes gone, Stern John's corner found Maynard on the edge of the box - and he curled home superbly.
Palace rarely threatened, and City should have gone further ahead. But Louis Carey headed wide, and Ivan Sproule hit the post in the first half before Liam Fontaine fired wide after the break.
The visitors' only meaningful attempt came from Lee Hills just before half-time, but his shot from the edge of the box crashed against the crossbar.
The win saw the hosts end a run of six matches without a win at Ashton Gate, while Palace suffered their first defeat in nine outings.
Bristol City boss Gary Johnson kept faith with the same starting XI that earned the Robins their first win in nine attempts last time out against Watford.
Neil Warnock made three changes to the Palace side which defeated Norwich on Boxing Day - with Hills, Matthew Lawrence and Danny Butterfield all coming in.
The home side started well and were rewarded with the opener.
City immediately went in search of a second - and Maynard, who was having a fine game, tried to lob Eagles goalkeeper Julian Speroni but his shot went just wide.
The Robins should have had a second midway through the half when Lee Johnson's corner found Carey - but he headed wide from just six yards.
Minutes later, Speroni saved a shot from John with his feet - before Sproule's effort from the edge of the box cannoned off the post.
Palace barely had a shot in the first half but almost grabbed an unlikely equaliser when Hills' shot hit the bar.
Bristol City continued their assault on the visitors' goalmouth in the second half and Fontaine missed a great opportunity to double their lead when he fired over from close range after being found by Bradley Orr's cross.
The Eagles did eventually begin to threaten and Paul Ifill forced Adriano Basso into a save with a powerful effort from 25 yards.
However, Bristol City exerted their authority once again and Michael McIndoe fired a long-range effort over the crossbar before Sproule and Marvin Elliott both had shots blocked.
Speroni made a good save to deny Cole Skuse late on and at the other end Fontaine blocked Sean Scannell's shot as Bristol City held on for the win.
Teams:
Bristol City Basso, Orr, Carey, Fontaine, Brian Wilson, Sproule, Johnson (McCombe 90), Elliott, McIndoe, Maynard (Skuse 83), John (Adebola 73).
Subs Not Used: Trundle, Henderson.
Goals: Maynard 2.
Crystal Palace Speroni, Clyne, Fonte, Lawrence, Hills (Kuqi 70), Butterfield, Carle, Derry, Ifill, Oster (Danns 71), Lee (Scannell 79).
Subs Not Used: Ertl, Griffit.
Booked: Butterfield, Fonte.
Att: 18,265
Ref: Andy Penn (W Midlands).