Renan Oliveira had put the mid-table hosts ahead in the 28th minute, but Willian equalised 10 minutes later and then completed the turnaround 18 minutes from time.
Botafogo and Gremio kept up the pressure on the leaders by also posting victories, though.
A last-gasp strike from substitute Hyuri secured a 1-0 win over fifth-placed Corinthians for second-spotted Botafogo, while Gremio climbed to third after Hernan Barcos' first-half penalty and a late strike from substitute Paulinho secured a 2-0 success at Nautico Recife.
Atletico Paranaense dropped a position to fourth after seeing Ederson's early opener cancelled out by Rafael Sobis on the stroke of half-time as Fluminense hit back for a 1-1 draw.
Bahia battled from two goals down to draw 2-2 at home to Criciuma.
An Antonio Feijao own goal had the hosts on the back foot early on and Lins' goal 10 minutes before half-time doubled the visitors' advantage.
But Fernandao reduced the arrears through a 72nd-minute penalty and substitute Manoel Obina ensured the shares were spoiled with an 86th-minute equaliser.
Criciuma finished the game with 10 men following the late dismissal of Joao Vitor.
Finally, a goal in each half - first from Carlos Correa and then Gilberto - earned Portuguesa a 2-0 win over Vasco da Gama.