Steve Kean’s lacklustre Rovers side, now without a win in nine games, struggled to contain Everton and were punished when a deflected Osman shot went in after 54 minutes.
The visitors hardly tested home goalkeeper Tim Howard and any prospect of a comeback was ended when Baines put the game beyond them with a 75th-minute penalty after Phil Jones fouled Seamus Coleman.
The game went exactly to the form book with Rovers having failed to win away since December.
The result left them in a perilous position just above the relegation zone while Everton, extending their unbeaten run to seven games, moved to within a point of sixth-placed rivals Liverpool.
Rovers put had aside recent controversy to bring back defender Gael Givet for the contest following the damaging blow of losing the influential Ryan Nelsen for the rest of the season.
French defender Givet reportedly missed last week’s draw against Birmingham because of a tax dispute.
David Dunn and former Barcelona trainee Ruben Rochina also featured as Junior Hoilett failed to overcome a hamstring injury and Morten Gamst Pedersen was dropped to the bench.
Everton were unchanged from the side which thrashed Wolves last week but Coleman and Jack Rodwell both returned off the bench after ankle injuries.
Everton should have claimed a second-minute lead when Jermaine Jones inadvertantly put Jermaine Beckford through with a backwards header, but the former Leeds forward blasted over.
Chris Samba cleared a dangerous Baines cross and, moments after Osman claimed he had been pushed in the box, the Rovers captain deflected a shot from Phil Jagielka behind.
Everton’s positive start was undermined after 15 minutes wheh John Heitinga was forced off with a hamstring injury, but Rodwell took his place.
Referee Kevin Friend had a word with Baines after a reckless challenge on Jermaine Jones midway through the first half but chose not to book the England left-back.
Diniyar Bilyaletdinov controlled the ball well on the edge of the area to create a chance for Phil Neville but the Everton skipper, who scored his first goal in three years last week, shot over.
Everton continued to dominate possession but Rovers goalkeeper Paul Robinson, another Baines cross aside, had little to concern him.
Osman had a chance in first-half injury time but shot his shot lacked power and was comfortably gathered by Robinson.
Both sides showed greater urgency as the second half got under way and Rovers went close as Dunn drove forward and got away from Tony Hibbert to curl a shot wide.
Everton upped the tempo in response and created a series of good chances before claiming a deserved lead.
Magaye Gueye, after a frustrating first half, got into the game more and charged into the box after his own ball for Beckford was half-cleared and blasted narrowly over.
Baines then went even closer with a powerful low effort from 30 yards which almost shaved the post.
Their opener came after Bilyaletdinov skipped over a challenge from Givet and had a shot deflected behind.
Gueye took the corner short to Osman, who effortlessly sidestepped Rochina and fired in a shot which flew in at the far post after a deflection off Samba.
Gueye went close again before leaving the field to a standing ovation and being replaced by Coleman, who immediately worried Rovers with a cutting run down the right.
Rochina perhaps showed his frustration at his role in conceding the goal when he earned a booking for a rash challenge on Hibbert.
Another bad tackle, this time by Phil Jones on Coleman in the box, put the game beyond Blackburn as Friend pointed to the spot.
Baines made no mistake he stepped up to fire his second penalty in three games into the roof of the net.
Rovers’ fortune was summed up moments later when Jagielka and Baines collided trying to head clear a bouncing ball and substitute Pedersen somehow shot wide from six yards.
Everton continued to finish strongly and Robinson tipped over a header from Bilyaletdinov at the far post in the closing moments.