Cardiff continued their climb up the Coca-Cola Championship table after coming from behind to win 2-1 at Preston.
The visitors trailed at half-time following a fifth-minute strike from Simon Whaley but second-half strikes from Roger Johnson and Joe Ledley gave the Bluebirds their fourth win in six games.
There was little festive cheer at Deepdale as Preston slumped to their third straight home defeat, and it was the same old story for the Lilywhites as they failed to capitalise on a positive first-half performance before Johnson and Ledley made them pay.
The result leaves Preston in the relegation zone heading into the new year, while Cardiff are eyeing a push for a play-off place after starting the month just above the drop zone.
Preston got off to a great start by scoring from the first shot of the game on target.
Recalled midfielder Lewis Neal hit an outswinging corner from the left and Cardiff's Peter Whittingham only managed to glance the ball out to the unmarked Whaley, who beat goalkeeper Kasper Schmeichel with a rasping 20-yard drive into the bottom right corner.
Preston almost doubled their lead within a minute when Paul Gallagher's attempted shot put Patrick Agyemang through on goal but the recalled striker shot too close to Schmeichel, who made a smart block.
Cardiff made a positive response, with captain Stephen McPhail firing narrowly over in the 12th minute, but Preston were soon back in control.
Neal released Matty Hill on the overlap in the 17th minute and the Preston left-back fired into the side-netting from a wide angle.
And two minutes later the pair combined again before Hill's cross from deep on the left was headed over by substitute Chris Sedgwick, who had just replaced the injured Whaley.
Preston continued to dominate proceedings until Agyemang missed a gilt-edged opportunity in the 29th minute.
Cardiff defender Glenn Loovens allowed Neal's pass to reach Gallagher, who squared for strike partner Agyemang near the penalty spot, but he failed to connect properly and let the ball squirm through his legs.
Loovens and lone striker Jimmy Floyd Hasselbaink drilled long-range efforts wide as Cardiff aimed to get back into the game, and the visitors maintained their momentum after the restart.
McPhail sent a 20-yard strike narrowly wide before Hasselbaink hit a wayward volley from Ledley's cross, and moments later Cardiff were level after Johnson rose highest to head home Ledley's left-wing corner from six yards.
Preston almost went back in front when Schmeichel denied Gallagher in the 58th minute from Agyemang's pull-back, but Cardiff snatched the lead following a strong run from Ledley down the Preston left.
The Wales midfielder exchanged passes with Hasselbaink just inside the Preston half to get behind the home defence and might have gone down under the challenge of Sean St Ledger but kept his feet to steer the ball past Andy Lonergan from a wide angle.
Preston fans jeered as manager Alan Irvine replaced the impressive Neal with striker Neil Mellor in a bid to revive his attack, but the home side failed to regain the fluency they had in the first half.
Whittingham fired wide for Cardiff while Lonergan spilled a low drive from substitute Steve MacLean as the visitors secured the three points with ease.
Teams
Preston Lonergan, Davidson, St. Ledger (Hawley 86), Chilvers,Hill, Whaley (Sedgwick 18), McKenna, Carter,Lewis Neal (Mellor 71), Agyemang, Gallagher.
Subs Not Used: Chris Neal, Nicholls.
Booked: Davidson, St. Ledger.
Goals: Whaley 5.
Cardiff Schmeichel, McNaughton, Loovens, Johnson, Capaldi,McPhail, Rae, Ledley, Whittingham, Parry,Hasselbaink (MacLean 74).
Subs Not Used: Oakes, Purse, Blake, Ramsey.
Booked: McPhail, MacLean.
Goals: Johnson 53, Ledley 67.
Att: 12,046
Ref: Mark Haywood (W Yorkshire).