And substitute Jason Roberts and defender Gael Givet struck in the second half to ensure Bolton, who threatened only sporadically, remain in the relegation zone - to the glee of a 23,888 crowd at Ewood Park.
Blackburn threatened early on through Morten Gamst Pedersen's long throws and, after two were repelled, a third sailed into the net untouched. Despite raucous cheers from the home faithful, play restarted with a goal kick and the score at 0-0.
Matt Taylor's threatening cross required a fine defensive header from Givet but Chung-Yong Lee's poor corner was headed away by the stooping first man, Andrews.
Taylor's foul on Michel Salgado saw play stopped before Johan Elmander netted - and Muamba then thwarted the best Rovers chance thus far.
Andrews met a dangerous corner and Muamba cleared his header off the line before also diverting Kalinic's overhead kick onto the post and away to safety.
Jaaskelainen had to be quickly out of his area to prevent Hoilett reaching Salgado's dangerous through-ball and he was soon off limits again, scrambling the ball back into his area and diving on it with Kalinic in hot pursuit.
Ricardo Gardner and Ryan Nelsen went off for treatment following a collision in which the home captain came off worst, and Rovers were then awarded a dangerous free-kick for full-back Paul Robinson's foul on Kalinic. Pedersen curled narrowly over.
Nelsen's injury got the better of him and he was replaced by Vince Grella, Andrews slotting in at centre-half.
Rovers keeper Paul Robinson made a good save to keep out Taylor's drive - and was rewarded as his side took a half-time lead.
Excellent work from Diouf kept a breakaway move going and Pedersen squared unselfishly for Kalinic to rifle home, Jaaskelainen unable to keep the ball out despite getting a touch on it.
The first half began in light snow - and without referee Chris Foy, who did not re-emerge due to an injury. Fourth official Lee Probert took his place.
Gloveman Robinson preserved his side's lead when he was quickly off his line to smother the ball as Gardner ran clear on goal.
And opposite number Jaaskelainen also had to be at his best to keep out Hoilett's point-blank diving header from Pedersen's cross.
Bolton were denied again when Lee's shot on the turn drew a fine diving save from Robinson.
Boss Owen Coyle stepped up his side's search for an equaliser by introducing Vladimir Weiss and Mark Davies for Taylor and Muamba, while Rovers withdrew the impressive Hoilett in favour of striker Roberts.
Kalinic got no support from Mr Probert when toppling over last defender Robinson, and on-loan Manchester City youngster Weiss made a vital interception when a Rovers break threatened to put Pedersen through on goal.
As the snow grew heavier, Ivan Klasnic was introduced for Elmander and immediately sent a tame free-kick into Robinson's grasp.
Steven Nzonzi's towering header from a Pedersen corner forced Jaaskelainen into a superb save but it was only a temporary reprieve for Bolton.
Pedersen's second flag-kick was not convincingly cleared and Givet hooked it back into the box for Roberts to finish tamely through the hands of the keeper.
Gretar Steinsson was booked for flattening Kalinic and Pedersen's fierce low free-kick somehow eluded both the Croatian and Diouf with only a touch needed.
But Rovers were able to add a third with six minutes remaining when Diouf's free-kick was headed in by Givet for the Frenchman's first goal at Ewood Park.
Dunn replaced the hard-working Kalinic two minutes later, with both men given standing ovations as the home faithful revelled in their march to victory.
Roberts squandered a good late chance and Rovers failed to make the most of Jaaskelainen's subsequent dreadful goal-kick, but it was of no consequence.