Garry Monk has tasted defeat in his first match in charge of Championship strugglers Birmingham City, courtesy of a 1-0 reverse to former club Middlesbrough at St Andrew's.
The Bluebirds looked to be cruising to all three points thanks to goals from Callum Paterson and Marko Grujic either side of half time, but Swansea City loanee Oliver McBurnie maintained his decent form by pulling one back.
A fifth successive clean sheet may have evaded Cardiff, but they were still able to hold on for yet another win to keep them four points in front of the chasing pack.
Another side well positioned to gatecrash the automatic promotion spots is Fulham, who extended their unbeaten run to 14 matches - winning 11 of those - with a straightforward 3-0 victory of their own over Sheffield United.
With the three teams directly above them all picking up maximum points, it once again proved to be a disappointing night for Derby County as their underwhelming 2018 continued with a 1-1 draw against Queens Park Rangers.
Elsewhere, Burton Albion could not profit from some favourable results around them as they were defeated 2-0 by Brentford, while Hull City suffered a 2-1 loss at home to Millwall, who just about remain in the top-six picture.
In the late kickoff, Bolton Wanderers did their own survival hopes no harm with a 1-1 draw against Reading - former Madejski hero Adam Le Fondre cancelling out Modou Barrow's opener to leave the teams level on 35 points apiece.
Championship results in full: Birmingham 0-1 Middlesbrough, Burton 0-2 Brentford, Cardiff 2-1 Barnsley, Fulham 3-0 Sheffield United, Hull City 1-2 Millwall, Norwich 0-0 Forest, Preston 2-1 Bristol City, QPR 1-1 Derby, Wednesday 1-2 Ipswich, Sunderland 0-3 Villa, Reading 1-1 Bolton