But Olsson powered home a header from a Graham Dorrans corner to bring Albion level in the 19th minute, before converting another Dorrans set-piece to give his side the lead.
Substitute Chris Wood then added a third goal late on to kill off any hopes of a Doncaster comeback.
The victory maintains Albion's unbeaten start to the season and puts them a point ahead of Newcastle and Middlesbrough at the summit, although the Magpies do have a game in hand.
Doncaster slip to 17th, having taken seven points from their opening seven fixtures.
Baggies boss Di Matteo made just one change in personnel from the side that beat Plymouth 3-1 at the weekend, bringing in Robert Koren at the expense of Simon Cox. Koren's introduction also signalled a change of formation, with Roman Bednar operating as a lone frontman.
Doncaster handed a full debut to recent loan signing Billy Sharp, while fellow forward Fairhurst was also handed his first start for the club in the absence of injured duo James Coppinger and James Hayter.
The hosts started the game brightly, but it was Rovers who took the lead in the seventh minute as Sharp latched onto John Oster's cross before teeing up Fairhurst to sweep home from six yards.
The Baggies then suffered a further blow as Marek Cech - who scored twice against Plymouth - picked up an injury and was replaced by Jerome Thomas.
But they soon pulled level when Olsson leapt highest to head Dorrans' corner into the net.
The Baggies had the better of the remainder of the half, with Shelton Martis heading over from another Dorrans corner and Chris Brunt testing goalkeeper Neil Sullivan with one free-kick and firing narrowly wide with another.
But Doncaster, who lost Gareth Roberts to injury shortly after the half hour, remained a threat and came close themselves when Stock fired wide from the edge of the area following a poor punch from Scott Carson.
Rovers began the second half on the front foot, with Martin Woods testing Carson with an attempted lob from around 40 yards.
Stock also saw a free-kick drift over the bar, while at the other end the hosts were left largely frustrated in their attempts to carve out a clear-cut chance in open play.
In the end, Albion were left to rely on another set-piece to bring an end to Doncaster's defiance as Olsson headed an inswinging Dorrans free-kick back across Sullivan and into the far corner.
Adam Lockwood missed a golden chance to snatch an equaliser for Rovers with 11 minutes remaining when he nodded a Woods corner inches wide.
And Wood made the visitors pay as he lashed home a stunning 25-yarder in the 85th minute.