Rafael Benitez's side looked to have grabbed at least a point - and were pressing for a winner themselves - after Aleksandar Mitrovic struck his second of the game from the penalty spot after 86 minutes.
But Olsson had the final say moments after John Ruddy had produced a fine save to deny Papiss Cisse - who also missed a sitter - at the other end.
Norwich's earlier goals came from Timm Klose and Dieumerci Mbokani either side of Mitrovic's first equaliser.
The other side involved in the relegation fight, Sunderland, drew 0-0 with West Brom at the Stadium of Light.
Wes Morgan sent Leicester seven points clear at the top of the Barclays Premier League as the Foxes beat Southampton to take a massive step to the title.
The captain's first goal in 11 months handed them a 1-0 win - their fourth in a row - as Claudio Ranieri's side sent out a further warning to their rivals.
The Foxes' Great Escape, where they won seven of their final nine games to beat the drop last season, started a year ago this weekend with a 2-1 win against West Ham - and they again stand on the brink of something extraordinary.
With just six games left they lead Tottenham, who drew 1-1 at Liverpool on Saturday, and stayed on course for a remarkable title victory with a fourth straight 1-0 win.
Harry Kane rescued a point for Tottenham in a 1-1 draw with Liverpool but that may not be enough with leaders Leicester handed the incentive to take a decisive step in the title race.
Second-placed Spurs only closed the gap to the top to four points and that could be seven with six matches to go if the Foxes beat Southampton on Sunday.
Reds manager Jurgen Klopp had challenged the visitors to come to Anfield and win to keep their chances alive and although they showed commendable spirit after falling behind to Philippe Coutinho's 51st-minute goal - his third in consecutive club matches - they could not completely turn around the result.
Kane's sixth in the last four Premier League matches set a new club Premier League record of 22 in a season but individual accolades will count for nothing if they fall short in their ultimate quest.
Third-placed Arsenal eased to a comfortable 4-0 over Watford at the Emirates Stadium. Alexis Sanchez set them on the way by turning the ball home on four minutes after his initial header had been kept out by Heurelho Gomes.
Alex Iwobi scored for a second game in succession when he doubled the lead from a Sanchez pull-back and Hector Bellerin made the result safe after 48 minutes. Iwobi almost struck a second when he hit the woodwork but Theo Walcott grabbed a late fourth.
Managerless Aston Villa slumped to another humiliating defeat as their slide towards relegation from the Barclays Premier League continued with a 4-0 home thrashing by Chelsea.
The latest miserable chapter in Villa's season - in which they also had Alan Hutton sent off for two bookable offences - began as Ruben Loftus-Cheek hit much-changed Chelsea's opener with a deflected shot.
The almost forgotten Alexandre Pato marked his Blues debut with his side's second from the penalty spot before the interval and Pedro added two more in the second half.
Kevin De Bruyne made a goalscoring return from injury as fourth-placed Manchester City arrested their recent slump with a comprehensive 4-0 win at Bournemouth.
City struck through Fernando after just seven minutes and soon doubled the lead as De Bruyne, returning to action after a two-month lay-off, finished after good work from Sergio Aguero and David Silva.
Aguero made it 3-0 after just 19 minutes and Fernandinho hit the bar soon after, but the fourth did not come until Aleksandar Kolarov found the net in stoppage time.
West Ham had Cheikhou Kouyate controversially sent off as their top-four challenge was dented by a 2-2 draw with Crystal Palace at Upton Park.
The Hammers had fought back to lead by responding to Damien Delaney's header with a Manuel Lanzini equaliser and another sublime free-kick from Dimitri Payet.
But the course of the game changed as a Kouyate challenge on Dwight Gayle was deemed worthy of a red card. Gayle later pounced on a poor West Ham clearance to snaffle an equaliser.
Swansea fought back from 2-0 down to claim a 2-2 draw at Stoke.
The Potters had seemed comfortable after Ibrhaim Afellay headed an early opener and Bojan doubled the lead with a fine strike that went in off the post.
But Gylfi Sigurdsson pulled one back after 68 minutes and substitute Alberto Paloschi levelled 11 minutes from time.