A fine Joe Edwards header couldn’t prevent Walsall from falling to a narrow defeat to Rotherham in the final game of 2017.
The Saddlers made the worst possible start, falling behind after just 56 seconds when Semi Ajayi tapped in David Ball’s low cross from close range.
But the home side weren’t behind for long, equalising just 11 minutes later courtesy of well-worked team goal.
Nicky Devlin’s terrific crossfield pass picked out Luke Leahy, who checked back onto his right foot and delivered an inviting cross for Edwards to guide a superb header into the top corner.
It was Edwards’ first goal since September – and he could have had another moments later but his fierce 25-yard drive from Zeli Ismail’s lay-off was well held by Millers keeper Marek Rodak.
Rotherham went close to restoring their lead on the half-hour when ex-Saddler Anthony Forde’s effort from an acute angle was smothered by Mark Gillespie.
Walsall – eager to avenge September’s 5-1 defeat by the Millers at New York Stadium – had a golden chance to go ahead five minutes before the break.
Erhun Oztumer latched onto Dan Agyei’s through-ball and coolly cut inside a defender but pulled his left-footed shot agonisingly wide.
The hosts threatened again just after the interval, with Joe Edwards seeing his goalbound strike blocked after a scramble inside the penalty box.
Half-time substitute Kieffer Moore almost put United ahead on 57 minutes as he found the side-netting with a towering far-post header from Ryan Williams’ deep cross.
The influential Moore played his part as Rotherham regained the lead barely a minute later, heading a Josh Emmanuel centre towards goal for Ball to stab home from close range.
The Saddlers should have levelled on 69 minutes but Simeon Jackson could only find the arms of Rodak with a half-volley from point-blank range after Ajayi had failed to clear Ismail’s cross.
After surviving that let-off, United could have added a third when Moore bulleted a header over from Forde’s corner.
Rotherham looked the more likely to score in the closing stages, with Williams skipping inside Kory Roberts before hitting a rasping drive which stung the palms of Gillespie.
Team: Gillespie, Devlin, Guthrie, K Roberts, Leahy (Candlin 85’), Chambers, Edwards, Ismail, Oztumer, Morris (Kouhyar 61’), Agyei (Jackson 68’).
Subs not used: L Roberts, Wilson, Kinsella, Flanagan.
Attendance: 4,685 (765 Rotherham supporters).