Rovers had lost their last two games but put that run to bed in style with a fine early burst that brought two predatory finishes from the prolific Rhodes.
Charlton contributed to their own downfall and the score could have been greater, but Rudy Gestede saw a goalbound effort cleared.
It was a disappointing afternoon for the visitors, who were restricted to few chances, and their form is becoming a concern. It is more than a month since they last won and they have only collected maximum points once in their last nine outings.
The picture looks a lot brighter for Blackburn, who have now only lost once in seven Ewood Park encounters and to lie just four points from the top six.
Midfielder Jason Lowe made his first start since August as Rovers boss Gary Bowyer made two changes to the side that lost at Brentford, with Rhodes also recalled.
Rovers carved out the game’s first chance when a loose pass was seized upon and Rhodes was fed, but his shot from an acute angle was kept out by Nick Pope.
Bowyer had spoken about the desire for his team to score first and they did just that in the sixth minute. After Charlton were caught in possession, Ben Marshall found Rhodes in the area and the striker easily slotted the ball home.
Charlton almost gifted their hosts another goal soon after as Pope fumbled a routine cross, but the goalkeeper was saved by Morgan Fox, who headed Gestede’s goalbound effort behind.
Charlton’s afternoon got worse after 18 minutes, when Rhodes shrugged off Tal Ben Haim when chasing a flick-on and then beat Pope to the ball, before poking into an empty net for his ninth of the season.
Blackburn looked transformed from their struggles last week and they almost had a third on the half-hour through a thunderous 25-yard drive by Lowe, but Pope tipped over.
The visitors registered their first chance of note after 32 minutes and it should have yielded a better result, as Chris Solly whipped in a wicked cross, but Igor Vetokele’s close-range header went wide.
Charlton improved in the early stages of the second half, but they could have gone further behind in the 54th minute, only for Gestede to blaze over when Alex Baptiste’s cross fell to him 12 yards out.
They did go close after 64 minutes when Vetokele’s header from a corner drifted wide, but Rovers finished stronger and only a fine save by Pope kept out Ryan Tunnicliffe’s curling shot from distance 11 minutes from the end.