Diego Souza scored a hat-trick as Vasco da Gama beat struggling Cruzeiro 3-0 to extend their lead at the top of the Brazilian Campeonato to two points. Souza opened the scoring before half-time with a low shot and then doubled the lead on the hour mark. Vasco were already home and dry by the time the former Palmeiras man flicked the ball over Cruzeiro goalkeeper Fabio and headed in for his hat-trick. Defeat sees Cruzeiro slip down to 16th in the table and, after protesting at the training ground on Saturday, fans clashed at the game on Sunday with each other and with police, who used pepper spray in an attempt to keep order.
Corinthians moved up to second in the table after ending a three-match winless run with a narrow 1-0 win over Bahia. Emerson scored the winner in the 58th minute but was then sent off 30 minutes later when he was booked for taking too long to leave the pitch after being substituted and then applauded the decision, which earned him a second yellow card.
Rivaldo scored an injury-time header to rescue a point and a 2-2 draw for Sao Paulo in their crunch clash with Botafogo. Sebastian Abreu fired Botafogo into a 2-0 lead at half-time but Henrique pulled one back for Sao Paulo and Rivaldo then snatched a point late on. The draw leaves Botafogo four points behind the leaders but with a game in hand, while Sao Paulo are three points off the pace.
Flamengo ended a 10-game winless run with a narrow 2-1 victory over struggling America Mineiro. Everton Kempes fired America into a surprise lead from the penalty spot but Deivid equalised on the hour mark and Thiago Neves won the match late on.
Fluminense were thankful for a controversial late penalty that rescued a point in their 1-1 draw with Atletico Paranaense. Paulo Baier made it 1-0 to Atletico on 62 minutes before the referee awarded a penalty to Flu in second-half injury-time after Manuel Lanzini went to ground inside the box. Fred scored the spot-kick amidst protestations from the opposition and the referee had to be escorted from the pitch as fans threatened him from the stands. Atletico played the final 30 minutes with 10 men after Rafael Santos was sent off and Pablo was then also sent off late on for confronting the referee.
Internacional continued their climb up the table with a 2-1 win over Atletico Mineiro. Missing the injured Leandro Damiao, Inter found the net through Mario Bolatti and Fabricio, while Renan Oliveira scored for Atletico.
Santos' eight-match unbeaten run came to an end as they were beaten 3-2 at home by Figueirense. Santos were always chasing the game after an early Julio Cesar goal and despite equalising twice through Borges and Leo, the visitors won thanks to Wellington Nem's effort and a late penalty from Cesar.
Palmeiras' patchy form continued as they drew 1-1 with Atletico Goianiense, despite playing against nine-men for the final 30 minutes. Mario Fernandes and Douglas scored either side of half-time to help Gremio win 2-1 at Avai and Bill's two goals for Coritiba were in vain as they lost 3-2 to Ceara.