Elias and Renato scored in the second half for Botafogo, who claimed a comfortable victory at the Estadio Club de Regatas Vasco da Gama.
Elias beat Ricardo Berna in a one-on-one after a brilliant run from Rafael Marques, who released the forward into the area.
Renato headed the second 12 minutes before full-time, after a fine cross from Nicolas Lodeiro.
Coritiba drew 2-2 at Santos and remain level on points with Botafogo but are second with a weaker goal difference.
Alex cancelled out Neilton's 20th-minute opener before Cicero restored Santos' lead just after the hour-mark.
But captain Alex popped up again two minutes before full-time to secure a point for Coritiba.
A Luan hat-trick led Cruzeiro to a 3-0 win over Sao Paulo, lifting them into third as they extended their unbeaten run to nine games in all competitions.
Juan's 91st-minute winner saw Internacional claim a 1-0 victory over Flamengo at the Estadio Francisco Stedile.
A nine-man Gremio suffered a 2-1 loss at Criciuma, who had Matheus Ferraz to thank for a 75th-minute winner.
Gremio's Matheus Biteco was sent off in the 23rd minute, while his teammate Eduardo Vargas saw red nine minutes after half-time and they could only hold out until Ferraz's goal.
Alexandre Pato was on the scoresheet for Corinthians in their 1-1 draw at Atletico Paranaense and Juninho Pernambucano struck in Vasco da Gama's 3-1 win over Fluminense.
Fluminense finished the encounter with nine men after Fred and Digao were red-carded.
Renan Oliveira's brace helped Goias to a come-from-behind 2-1 victory at home to Portuguesa, with the victors having Hugo sent off late on, while Vitoria and Bahia played out a scoreless draw and the clash between Atletico Mineiro and Ponte Preta was postponed.