Another defeat for the third-placed Porto means realistic chances of catching leaders Benfica are done dusted with just five matches to play.
Benfica – who won 1-0 at Sporting Braga on Sunday – are seven points ahead of Sporting Lisbon, who sit second.
Porto have now lost five of their last 11 league matches, a far cry from their usual imperious form, after fifth-placed Nacional strengthened their push for European football with an impressive win.
Candeias gave Nacional an early lead in Madeira, only for Jackson Martinez to level for Porto just after half-time.
Colombian Martinez is the league's top scorer, but his latest effort was not enough as parity was restored just three minutes later.
Mario Rondon's 49th-minute effort separated the two sides as Porto's struggles continued.
Benfica's latest triumph took them a step closer to their first league title since the 2009-10 campaign as they won on the road.
Lima's goal after 13 minutes was the difference as they held on for a 1-0 victory.
Rock-bottom Olhanense have lost seven away league matches in a row after a 2-1 defeat at 10-man Academica.
Marcos Paulo scored a pair of penalties for Academica, who had Djavan Ferreira sent off for a second yellow card in the 89th minute.
Other results on Sunday saw Arouca edge 10-man Vitoria Setubal 1-0, while Rio Ave beat Estoril by the same scoreline and Gil Vicente drew 1-1 with Maritimo.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.