Brazilian championship leaders Botafogo lost their unbeaten record with a 3-0 defeat at Santos but retained a five-point lead in the title race.
With leading goalscorer Dodo suspended, Botafogo lacked attacking punch to complement their midfield creativity in Saturday's match.
Santos were looking to end the poor run of results that has turned the club from possible championship contenders into relegation zone strugglers.
The home side stepped up the pressure in the second half and Marcos Aurelio broke the deadlock with a well-worked goal, Rodrigo Tabata increased the margin with a pinpoint free-kick and Moraes completed the scoreline that lifted Santos out of the drop zone.
Botafogo retained their lead because second-placed Goias lost 2-1 at Cruzeiro and Sao Paulo could only draw 1-1 in the derby with Corinthians.
Cruzeiro goalkeeper Harlei made a string of fine saves to help secure his team's win.
"We slipped up here, but we will just have to try and put this right in our next game against Gremio on Thursday," Goias striker Felipe told reporters.
Goias remain on 19 points, chasing Botafogo on 24 points.
Sao Paulo are also on 19 points and were within a whisker of victory over Corinthians when Zelao equalised in the dying seconds.
Palmeiras pulled off a similar feat against Gremio to collect a 1-1 draw and extend their away record to three wins, two draws and just one defeat.
The Rio de Janeiro derby between Flamengo and Fluminense was rescheduled to Thursday because of the Pan-American games taking place in the city.