Bernard's 15th-minute opener was cancelled out by Antonio Carlos (28) and Botafogo took the lead just two minutes later through Elkeson.
Atletico's hopes suffered a blow midway through the second half when Junior Cesar was sent off, but the 10 men hit back through Richarlyson (83) and, after Marques Lucas was sent off five minutes later to even up the personnel, Araujo Rever snatched the winner moments later.
The win moved Atletico four points clear of fourth-placed Sao Paulo, who drew 0-0 at Ponte Preta, with one game left.
Second-placed Gremio remained a point ahead of Atletico courtesy of a 4-2 triumph at Figueirense.
Gremio looked to be cruising to victory when Elano (24), Ze Roberto (43) and Josef Souza (45) put them 3-0 up at half-time.
However, a 65th-minute penalty from Aloisio and Jean Deretti's strike four minutes later meant the visitors needed a fourth goal from Leandro (71) to seal the points.
Newly-crowned champions Fluminense drew 1-1 at relegation-threatened Sport Recife, Fred's 28th-minute opener cancelled out on the stroke of half-time by Felipe Azevedo.
Elsewhere, Bahia and Nautico Recife drew 1-1 after Gabriel Santana's 52nd-minute penalty was cancelled out by Dimba's equaliser 11 minutes from time.
And Cruzeiro won 2-1 at home to Coritiba thanks to an early goal from Tinga and Leandro Guerreiro's effort on the hour mark. Everton Ribeiro scored a last-minute consolation for Coritiba.
Struggling Portuguesa claimed a 2-0 win at Internacional, with Luis Ricardo opening the scoring after 36 minutes and a penalty from Marcelo Cordeiro (55) sealing the win.
Atletico Goianiense were also successful on their travels, beating 10-man Palmeiras 2-1 to climb off the foot of the table.
Santos Raylan (17) gave Atletico the lead and, although Patrick Vieira equalised nine minutes later, Ernandes scored what proved to be the winner after 58 minutes. A miserable day for Palmeiras was completed when they had Wellington sent off 14 minutes from time.