In the first of the day's three kick-offs, Porto slumped to a shock 1-0 defeat at Maritimo, continuing a poor run of form by their lofty standards.
Porto - who have won the Primeira Liga in each of the last three seasons - saw a 53-match unbeaten streak end in November last year.
Saturday's defeat made it three losses in their last seven league matches as they had no answer to Derley's early penalty.
The Brazilian's spot kick, scored in the 13th minute, gave Paulo Fonseca's side plenty of time to respond.
But despite a raft of attacking substitutions, Porto were unable to find a way through, despite having 17 shots on goal to Maritimo's three.
Porto's defeat left them one point behind Sporting - who host Academica on Sunday - and four behind Benfica, but it could have been six.
Benfica slipped up at the 12th-placed Gil Vicente in a 1-1 draw, but they were made to play more than half an hour with 10 men.
Brazilian defender Guilherme Siqueira was sent off in the 58th minute for a second yellow card, but Benfica still took the lead four minutes later after Brito conceded a penalty.
Lima stepped up and scored the spot kick only for Gil Vicente, without a win since November, to rescue a point when substitute Vitor Goncalves netted a 73rd-minute equaliser.
Saturday's other match saw Rafael Martins strike twice in the first half as Rio Ave beat a nine-man Vitoria Setubal 2-0.
Both Nuno Lopes and Edimar Fraga were sent off for two yellow cards in the second half.