Cardiff City's mini-revival under new boss Sabri Lamouchi continued thanks to a stoppage-time winner against Reading.
Romaine Sawyers fired in from the edge of the box in the 91st minute to claim a deserved win - the club's second in a week under their new manager.
A first home win since October lifts the Bluebirds five points clear of the Championship relegation zone.
Reading remain 15th in the table but could have little complaint over the loss despite the timing of the goal.
The closest Reading came was a blunder by Cardiff goalkeeper Ryan Allsop, who kicked thin air as Yakou Meite closed in.
Cardiff must have thought their luck was out when they hit the crossbar twice in the space of three minutes midway through the second half.
But Sawyers capped an impressive display with his first goal since August to claim three vital points in his side's fight for survival.
Cardiff leapfrogged Rotherham into 20th place but, crucially, have played two more games than all four teams below them.
Both sides had claimed their first victories of 2023 on Tuesday night, with Cardiff's ending a 14-game winless run as Lamouchi claimed his first with the Welsh club.
The Frenchman cut an animated figure on the sidelines against Reading, coaching his new team through every pass, in stark contrast to his brooding opposite number Paul Ince. His mood was not surprising given the Reading boss had little to be cheerful about.
Cardiff enjoyed plenty of success down both wings but Jaden Philogene's delivery deserved better than Sory Kaba's tame effort, before the striker headed a Callum O'Dowda cross straight at the goalkeeper.
The Guinea international, on loan from Danish club Midtjylland, saw plenty of the ball as the home side dominated but struggled to find the finishing touch.
His strike partner Kion Etete fared little better, even when handed a chance by Reading defender Amadou Mbengue's stray pass.
Instead it was defender Perry Ng who came closest, rippling the side-netting with a free-kick on 28 minutes.
It was promising nevertheless for Cardiff who showed a fresh enthusiasm that belied their precarious league position.
Femi Azeez was the lynchpin for Reading but they were one-dimensional in their efforts to provide Andy Carroll ammunition and managed just one effort in the first half.
Carroll dominated up front but had precious little support, while Cardiff's Mark McGuinness was fortunate to escape with just a yellow card for a foul on Mbengue.
As the stalemate wore on both managers turned to players on the bench, Cardiff brought on new signing Connor Wickham and Reading called for top scorer Tom Ince as well as Meite.
Allsop will be grateful Meite was not a yard quicker after a horrible blunder almost gifted the opener.
The keeper collected a back-pass with his first touch and then missed the ball completely with an attempted second, before nudging the ball away as the Royals striker closed in.
Cardiff then hit the woodwork twice as they searched for a winner.
Robinson exchanged passes with Ryan Wintle before unleashing a curling effort that left Joe Lumley rooted to the spot but rebounded off the crossbar.
Lumley was beaten again moments later when Sheyi Ojo's effort deflected off Mbengue and over the keeper - only to hit the bar.
Cardiff knew a point would do little to aid their cause and threw bodies forward as the clock ticked past 90 minutes and were rewarded for their bravery with Sawyers' strike.
Cardiff City: Allsop, McGuinness, Kipré, Ng, O'Dowda (Ojo 65'), Philogene, Wintle, Sawyers, Robinson, Kaba (Wickham 58'), Etete (Ralls 70'). Subs Not Used: Alnwick, Romeo, Simpson, Rinomhota.
Reading: Lumley, Carroll, McIntyre, Dann, Azeez (Méïté 62'), Guinness-Walker (Abbey 84'), Fornah (Ince 65'), Loum, Hoilett, Sarr, Mbengue. Subs Not Used: Bouzanis, Casadei, Abbey, Ehibhatiomhan, Senga.