The Aguia came to Oporto looking for a point but were robbed in the final minute by Kelvin's strike, leaving the home side as favourites for the title
The away team could have confirmed the title on Saturday after Lima took the lead, but an own goal from Maxi Pereira and the substitute's heroics ensured a Dragao victory and it is the hosts who go top heading into the last game of the season.
In desperate need of victory to keep alive their dream of a third-consecutive Primeira Liga title, Porto started the match on the front foot and looked to hurt their rivals early on. This ambitious attitude almost paid dividends in the opening exchanges; a strong run by Danilo down the right ended in the Brazilian shooting for the far corner, and his low effort just eluded Jackson who was bearing down on goal.
Benfica, two points ahead of the Dragao and Europa League finalists, were content to soak up the pressure operate on the counterattack. With 26 minutes gone, they took a surprise lead. Eduardo Salvio's corner was headed back into the direction of Ezequiel Garay who launched the ball back towards goal with a speculative shot. The defender's effort was heading wide, but Lima was on hand to turn home at the far post and put the visitors ahead.
It was the perfect start for the league leaders, but the advantage was not to last long as Porto fought back just minutes later. Good work from Alex Sandro down the left opened up the flank for Silvestre Varela, who had space and fired into the box. His cross took a decisive deflection off Maxi Pereira and the Uruguay international watched in horror as his touched spiralled the ball past Artur and into the net at the near post.
The equaliser raised tensions in the match, and tackles started flying in from both sides as the encounter started to lose its early rhythm. Chances were sporadic and without too much danger, and at half-time the draw was probably fair on both teams as Portugal's finest entered the dressing rooms.
Varela was enjoying himself after playing such a crucial part in the Dragao strike, and showed his skills in the opening minutes of the second half when he turned Maxi inside out before firing just over the bar. Porto continued to press hard in search of victory, while Benfica resumed their tight, counterattacking game and refused to commit too many forward.
There were plenty of half-chances and forays into the box for the home team, but Benfica refused to buckle and stayed solid. Martinez almost latched on to a teasing low cross from Varela, but Artur was attentive and threw himself to the ground to deny the Colombian. But in the final minute, substitute Kelvin popped up to smash home Porto's winner, putting them in the driving seat amid scenes of chaos.
Thanks to a superior goal difference, Benfica need to better their rival's result in their last game, at home to Moreirense to take the title.