The visitors started the game well and should have taken the lead in the 10th minute when David Fuster raided forward down the right and crossed into the area for Kostas Mitroglou but the striker headed wide from yards out.
Mitroglou nearly redeemed himself minutes later when he held off two challenges before firing a shot at goal from the edge of the area but Artur was there to make the save to keep the scores level.
However, Olympiacos did take the lead when Alejandro Dominguez raced on to a flick from Mitroglou and beat one defender before slotting the ball under Artur with a neat finish in the 29th minute.
© Getty Images
Conditions at the Estadio da Luz worsened in the second half as both sets of players struggled with their footing and the timing of their challenge as several players went into the book.
Despite the weather, Lima almost got his side back into the game when Benfica were awarded a free kick just outside the box but his effort went just the wrong side of the post.
The visitors should have doubled their lead when Mitroglou was played behind the home side's defence and he slotted the ball past Artur only for the ball to be stopped by a puddle on the goalline allowing Luisao to clear, in farcical circumstances.
Mitroglou finally thought he had got his goal but this time as he headed Yatabare's cross into the bottom corner he was denied by the officials as his strike was ruled out for offside.
Benfica then compounded the visitors' woes by getting an equaliser in controversial circumstances as they were awarded a corner after the ball went out off Cardozo.
Luisao won the ball in the air from the cross and headed to the Paraguayan and he tapped the ball home from two yards out to earn his side a crucial point.