Edgar Abreu struck a first-minute goal to stun the visitors to the Estadio da Madeira, but Jorge Jesus' men steadied the ship to win 2-1.
Eduardo Salvio equalised six minutes later for Benfica, before Jonas' 19th-minute strike put them ahead for good as they earned their eighth win in 10 league matches.
Benfica were momentarily second in the table after Vitoria Guimaraes' win earlier on the weekend, but they reclaimed top spot after matchday 10.
Porto fell three points behind the leaders, although it could have been even worse for them as they drew 2-2 at Estoril.
Substitute Oliver Torres salvaged a point for Julen Lopetegui's side, scoring in the fourth minute of additional time after coming on in the 82nd minute.
Earlier, Kuca's first-half goal and Toze's penalty saw Estoril overturn a deficit, created when Yacine Brahimi opened the scoring for Porto in the 20th minute.
Belenenses made it three league wins in succession, and five in all competitions, by downing Moreirense 1-0 courtesy of a late penalty to Tiago Silva.
The narrow victory took Belenenses back into fourth, above Sporting Braga who won on Saturday.
Pacos de Ferreira coughed up a lead to draw 1-1 at Sporting Lisbon, the visitors finishing with 10 men when Sergio Oliveira saw red.
Vitoria Setubal won their first match in four in the league, edging Maritimo 1-0 to move within one point of the side they conquered.
Carlos Santos struck a 90th-minute winner to help Boavista beat Penafiel, and move out of the relegation zone.
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.