Match ends, Preston North End 1, Rotherham United 1.
Rotherham United secured their fifth draw in six games after coming from behind to earn a point at Preston North End.
Tom Barkhuizen gave the hosts a 1-0 lead just before half-time when the forward's header from Callum Robinson's corner deflected into the back of the net.
But the Millers fought back strongly after the break and levelled through Michael Smith's fierce strike into the top corner.
Robinson had a golden chance to secure victory for the hosts but Rotherham goalkeeper Marek Rodak denied Preston's top goalscorer with his feet.
North End started the game brightly but Rotherham's defence weathered the hosts' attacks with shot-stopper Rodak only having to save a tame shot from outside the box by Barkhuizen.
The visitors almost took the lead when striker Michael Smith hit the post with a curling effort which had beaten goalkeeper Chris Maxwell from 30 yards out.
Kyle Vassell forced another save from Maxwell when he flung himself at a cross in the Preston penalty area.
But Barkhuizen put Preston in front when he headed in from the near post to secure his 50th career goal.
After a positive start to the second half from the away side, Ryan Williams fired a low cross into Smith, who held off the Preston defence to smash the ball beyond Maxwell.
The struggling pair both pushed for victory late on, making a string of changes, but they remain 20th and 21st, locked on 14 points apiece.
Preston North End manager Alex Neil told BBC Radio Lancashire:
"I think it's a frustrating afternoon, it was never going to be a real footballing game, Rotherham usually play to their strengths and make it difficult for you.
"I thought we started really brightly and it seemed that we would go on and win the game easily.
"We got into really good areas without really picking the right pass or selection, but we got in at half-time 1-0 up and talked about seeing off the game.
"But Rotherham came out and played really direct, and what's really disappointing is that we didn't cope with that as well as we should have."
Rotherham United manager Paul Warne told BBC Radio Sheffield:
"I think the lads did enough to get a draw. We got a deserved goal in general after creating some good chances and forcing some decent saves.
"I was disappointed with the first half, I thought we took too many chances in the middle of the pitch which I told them not to, and we weren't forceful enough and quick enough.
"I asked them to play in a different way in the second half and they definitely did that - if nothing else this group has got unbelievable character.
"After we rode the initial storm, I thought we were really in the game and were the side most likely to win."
- 11JohnsonSubstituted forGallagherat 72'minutes
- 29BarkhuizenSubstituted forMoultat 75'minutes
- 45NmechaSubstituted forMaguireat 64'minutesBooked at 90mins
- 11TaylorSubstituted forNewellat 68'minutes
- 13TowellBooked at 84mins
- 19VassellSubstituted forProctorat 76'minutes
- 23WilliamsSubstituted forManningat 85'minutes
- Jeremy Simpson
- Shots on Target
Second Half ends, Preston North End 1, Rotherham United 1.
Chris Maxwell (Preston North End) wins a free kick in the defensive half.
Foul by Jamie Proctor (Rotherham United).
Corner, Rotherham United. Conceded by Paul Gallagher.
Attempt saved. Ben Pearson (Preston North End) left footed shot from outside the box is saved in the centre of the goal. Assisted by Alan Browne.
Sean Maguire (Preston North End) is shown the yellow card.
Foul by Sean Maguire (Preston North End).
Joe Mattock (Rotherham United) wins a free kick in the defensive half.
Offside, Rotherham United. Joe Newell tries a through ball, but Jamie Proctor is caught offside.
Delay over. They are ready to continue.
Substitution, Rotherham United. Ryan Manning replaces Ryan Williams.
Delay in match Alan Browne (Preston North End) because of an injury.
Richard Towell (Rotherham United) is shown the yellow card for a bad foul.
Alan Browne (Preston North End) wins a free kick in the attacking half.
Foul by Richard Towell (Rotherham United).
Attempt saved. Michael Smith (Rotherham United) right footed shot from the right side of the box is saved in the centre of the goal. Assisted by Will Vaulks.
Attempt blocked. Sean Maguire (Preston North End) right footed shot from the left side of the box is blocked. Assisted by Paul Gallagher.
Callum Robinson (Preston North End) wins a free kick in the defensive half.
Foul by Zak Vyner (Rotherham United).