The world champions ripped Uruguay to shreds in the first half, going 2-0 up after 29 minutes through Kaka and Ronaldo and also missing a hatful of chances.
Uruguay, apparently down and out, hit back to lead 3-2 as Manchester United striker Diego Forlan scored twice and Arsenal's Gilberto Silva headed a bizarre own goal.
But the home team were saved from their first-ever home defeat in a World Cup qualifier when Ze Roberto set Ronaldo free and the Real Madrid striker scored his second goal of the game with an angled shot from the edge of the penalty area.
Brazil, the only country to have played at every World Cup finals, have eight points from four matches in the South American group, while Uruguay have seven.
"We were a bit apathetic after halftime," Brazil captain Cafu told reporters. "We could have won by a big score in the first half."
FIVE CHANGES
Uruguay coach Juan Ramon Carrasco stunned his compatriots by making five changes to the team which beat Chile 2-1 on Saturday.
His other surprises included picking three strikers and dropping top scorer Javier Chevanton. After half an hour, it seemed that Carrasco's gamble had backfired.
Ronaldo, Rivaldo and Kaka produced dazzling form as Brazil sliced through the Uruguay defence almost at will.
Brazil went ahead after 20 minutes, Kaka bundling the ball home from a Ronaldo cross.
Ronaldo, who had earlier hit the post, added the second goal nine minutes later. He latched on to a Ze Roberto pass, flicked the ball past goalkeeper Gustavo Munua with his shoulder and scored into the empty net for his 50th international strike.
But the match changed when Uruguay inspiration Alvaro Recoba, who has been troubled by a hamstring problem, came on in the second half along with Chevanton.
The visitors reduced the arrears in the 57th minute when Roque Junior's clearance hit Chevanton and rebounded at the feet of Forlan, who volleyed home.
Forlan took advantage of slack defending when he equalised with a close-range header in the 76th minute. Three minutes later, Gilberto Silva, under no pressure, deflected a harmless Recoba free kick into his own net.