The game looked destined for a draw after former Rovers striker Matt Derbyshire had brought the Millers level following Craig Conway’s delicious first-half opener for the hosts. But Rhodes struck his 11th goal of the season after some suspect Rotherham defending to restore his side’s lead and move them within 10 points of the top six.
The defeat for the Millers ends a three-game unbeaten run and plunges them back into danger after Millwall’s win at Birmingham cut the gap to the drop zone to three points.
Blackburn’s hopes of sneaking into the play-off picture suffered a damaging blow when they were beaten by Watford at the weekend, so they knew any late charge would need to start with a win against the Millers.
They started the better with Rhodes having two efforts in the opening 10 minutes, first heading a Tom Cairney cross wide and then stinging Adam Collin’s palms with a 20-yard volley.
But Rovers were not able to build on that start and the game was devoid of quality until the 41st minute as Conway lit up an otherwise drab affair.
After a poor home clearance Conway beat Connor Newton, cut inside and curled a superb 20-yard effort into the top corner.
It did not take much for Rotherham to improve after the break and they could have been level three minutes after the restart but Derbyshire, who began his career at Ewood Park, saw his shot blocked by Matt Kilgallon.
The Millers were by far the better team and threatened through Adam Hammill and Danny Ward before they levelled in the 72nd minute. Paul Green found himself in time and space on the right-hand side of the area and his low cross was rammed home at the near post by Derbyshire.
It initially looked as if Steve Evans’s men would try and push for a winner but Rovers regrouped and laid siege on Rotherham’s goal.
Rudy Gestede hit the post with a header but moments later, in the 86th minute, the hosts won it when Rhodes was on hand to poke home a loose ball.
There was still time for the Millers to try and snatch a leveller and they had a golden chance but Green shockingly put his free header wide.
Blackburn Rovers: Steele, Lowe (Baptiste 20), Hanley, Kilgallon, Olsson, Cairney (Marshall 65), Spearing, Evans, Conway, Rhodes, Brown (Gestede 75). Unused substitutes: Spurr, King, Eastwood, Taylor.
Rotherham United: Collin, Richardson, Morgan, Arnason, Fryers, Newton (Hammill 51), Green, Smallwood, Pringle (Hunt 51), Sammon (Ward 67), Derbyshire. Unused substitutes: Broadfoot, Frecklington, Bowery, Thompson.
Referee: G Eltringham (Tyne & Wear).