Brazil Serie A Wrap: Vasco extend relegation fight
The four-time league champions rose to 17th thanks to their second consecutive victory, closing to within a point of avoiding the drop.
Edmilson and Bernardo netted in the surprise win to keep Vasco alive with one match remaining this campaign.
Nautico are bottom and already relegated, while Vasco face a tough trip to Atletico Paranaense on the final day and are going to need at least a point.
Third-placed Paranaense are fighting for a Copa Libertadores place but slumped to their third loss in four with a 2-1 defeat at Santos.
Cicero's brace cancelled out Marcelo's 28th-minute opener to see Santos to the win.
Goias were unable to capitalise on Atletico PR's slip-up as they sit fourth after a 1-0 loss to second-placed Gremio.
Botafogo, who sit fifth, also missed their chance to move into third after a 2-1 loss at relegation battlers Coritiba.
Champions Cruzeiro, who are a tremendous 11 points clear at the top, suffered their second straight loss after being beaten 2-1 by Bahia.
Fluminense could rue giving up an 83rd-minute equaliser against Atletico Mineiro in their relegation fight.
Two points from safety, Fluminense led before Alecsandro scored to secure a point and a 2-2 draw for seventh-placed Mineiro.
Elsewhere, Corinthians and Internacional played out a scoreless draw and Vitoria brushed past Flamengo 4-2.
Portuguesa were 2-0 winners at already relegated Ponte Preta and mid-table Sao Paulo slumped to a 1-0 loss at Criciuma.