The result sees Sao Paulo join previous leaders Vasco da Gama on 45 points and Corinthians lying one point further back in a close-knit top three.
Fluminese sit five points off the lead following a 3-1 victory over Avai.
Fred's sixth-minute strike was cancelled out by William three minutes later, but Fred struck again 10 minutes before the interval and Alejandro Martinuccio made certain of the points after 78 minutes.
Flamengo dropped out of the top five with a 1-1 draw at Atletico Mineiro. Ronaldinho's 62nd-minute goal rescued a point for the visitors after Daniel Carvalho (49) had fired Atletico in front.
The hosts finished the match with 10 men following the late dismissal of Serginho.
America MG remain at the foot of the standings after a 2-1 defeat at home to Santos.
Everton Kempes (66) had responded to a 62nd-minute opener for Santos from Humberlito Borges, but Edu Dracena sealed the win 12 minutes from time.
A 77th-minute goal from Junior earned Bahia a 1-0 win at home to Atletico Paranaense, while Coritiba were 2-1 victors over Cruzeiro.
Marcos Aurelio (22) and Rosimar Bill (58) were on target for Coritiba with Bobo replying for the visitors after 65 minutes.
Figueirense and Internacional played out a 1-1 draw. Maciel Ygor fired the home side in front after 38 minutes but Jo equalised for Internacional four minutes into the second half.